erp_app 4.0.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1264) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/art/desktop-logo.jpg +0 -0
  3. data/app/assets/images/art/desktop-logo.png +0 -0
  4. data/{public → app/assets}/images/btn/left_panel/left_panel_16x16.png +0 -0
  5. data/{public → app/assets}/images/btn/left_right_panel/left_right_panel_16x16.png +0 -0
  6. data/{public → app/assets}/images/btn/right_panel/right_panel_16x16.png +0 -0
  7. data/{public → app/assets}/images/btn/save/save_16x16.png +0 -0
  8. data/{public → app/assets}/images/btn/save_all/save_all_16x16.png +0 -0
  9. data/{public → app/assets}/images/btn_light/add/add_16x16.png +0 -0
  10. data/{public → app/assets}/images/btn_light/left_panel/left_panel_16x16.png +0 -0
  11. data/{public → app/assets}/images/btn_light/left_right_panel/left_right_panel_16x16.png +0 -0
  12. data/{public → app/assets}/images/btn_light/right_panel/right_panel_16x16.png +0 -0
  13. data/{public → app/assets}/images/btn_light/save/save_16x16.png +0 -0
  14. data/{public → app/assets}/images/btn_light/save_all/save_all_16x16.png +0 -0
  15. data/{public → app/assets}/images/checked.gif +0 -0
  16. data/{public → app/assets}/images/erp_app/ajax-loader.gif +0 -0
  17. data/{public → app/assets}/images/erp_app/desktop/applications/file_manager/cancel.png +0 -0
  18. data/{public → app/assets}/images/erp_app/desktop/applications/file_manager/cross.png +0 -0
  19. data/{public → app/assets}/images/erp_app/desktop/applications/file_manager/hourglass.png +0 -0
  20. data/{public → app/assets}/images/erp_app/desktop/applications/file_manager/loading.gif +0 -0
  21. data/{public → app/assets}/images/erp_app/desktop/applications/file_manager/tick.png +0 -0
  22. data/app/assets/images/erp_app/desktop/applications/security_management/manage_capabilities.png +0 -0
  23. data/app/assets/images/erp_app/desktop/applications/security_management/manage_groups.png +0 -0
  24. data/app/assets/images/erp_app/desktop/applications/security_management/manage_roles.png +0 -0
  25. data/app/assets/images/erp_app/desktop/applications/security_management/manage_users.png +0 -0
  26. data/{public → app/assets}/images/erp_app/desktop/compass_logo_start_icon.png +0 -0
  27. data/{public → app/assets}/images/erp_app/desktop/image_add.png +0 -0
  28. data/{public → app/assets}/images/erp_app/desktop/themes.png +0 -0
  29. data/{public → app/assets}/images/erp_app/ext_loading_image.gif +0 -0
  30. data/{public → app/assets}/images/erp_app/mobile/green_light.png +0 -0
  31. data/{public → app/assets}/images/erp_app/mobile/red_light.png +0 -0
  32. data/{public → app/assets}/images/erp_app/mobile/yellow_light.png +0 -0
  33. data/{public → app/assets}/images/erp_app/organizer/applications/crm/business.png +0 -0
  34. data/{public → app/assets}/images/erp_app/organizer/applications/crm/business_64x64.png +0 -0
  35. data/{public → app/assets}/images/erp_app/organizer/applications/crm/customer-contact.png +0 -0
  36. data/{public → app/assets}/images/erp_app/organizer/applications/crm/customer_360_64x64.png +0 -0
  37. data/{public → app/assets}/images/erp_app/organizer/applications/crm/people.png +0 -0
  38. data/{public → app/assets}/images/erp_app/organizer/applications/crm/person.png +0 -0
  39. data/{public → app/assets}/images/erp_app/organizer/applications/crm/toolbar_find.png +0 -0
  40. data/{public → app/assets}/images/erp_app/organizer/applications/crm/vcard.png +0 -0
  41. data/{public → app/assets}/images/help.jpg +0 -0
  42. data/{public → app/assets}/images/icons/accept/accept_16x16.png +0 -0
  43. data/{public → app/assets}/images/icons/accept/accept_24x24.png +0 -0
  44. data/{public → app/assets}/images/icons/accept/accept_32x32.png +0 -0
  45. data/{public → app/assets}/images/icons/add/add_16x16.png +0 -0
  46. data/{public → app/assets}/images/icons/add/add_light_16x16.png +0 -0
  47. data/{public → app/assets}/images/icons/arrow_down_blue/arrow_down_blue_16x16.png +0 -0
  48. data/{public → app/assets}/images/icons/arrow_down_blue/arrow_down_blue_24x24.png +0 -0
  49. data/{public → app/assets}/images/icons/arrow_down_blue/arrow_down_blue_32x32.png +0 -0
  50. data/{public → app/assets}/images/icons/arrow_down_blue/arrow_down_blue_48x48.png +0 -0
  51. data/{public → app/assets}/images/icons/arrow_left_blue/arrow_left_blue_16x16.png +0 -0
  52. data/{public → app/assets}/images/icons/arrow_left_blue/arrow_left_blue_32x32.png +0 -0
  53. data/{public → app/assets}/images/icons/arrow_left_blue/arrow_left_blue_48x48.png +0 -0
  54. data/{public → app/assets}/images/icons/arrow_right_blue/arrow_right_blue_16x16.png +0 -0
  55. data/{public → app/assets}/images/icons/arrow_right_blue/arrow_right_blue_32x32.png +0 -0
  56. data/{public → app/assets}/images/icons/arrow_right_blue/arrow_right_blue_48x48.png +0 -0
  57. data/{public → app/assets}/images/icons/arrow_up_blue/arrow_up_blue_16x16.png +0 -0
  58. data/{public → app/assets}/images/icons/arrow_up_blue/arrow_up_blue_24x24.png +0 -0
  59. data/{public → app/assets}/images/icons/arrow_up_blue/arrow_up_blue_32x32.png +0 -0
  60. data/{public → app/assets}/images/icons/arrow_up_blue/arrow_up_blue_48x48.png +0 -0
  61. data/{public → app/assets}/images/icons/article/article_16x16.png +0 -0
  62. data/app/assets/images/icons/audio/audio_16x16.png +0 -0
  63. data/{public → app/assets}/images/icons/blog/blog_16x16.png +0 -0
  64. data/{public → app/assets}/images/icons/blog/blog_24x24.png +0 -0
  65. data/{public → app/assets}/images/icons/blog/blog_32x32.png +0 -0
  66. data/{public → app/assets}/images/icons/blog/blog_48x48.png +0 -0
  67. data/{public → app/assets}/images/icons/book/book_16x16.png +0 -0
  68. data/{public → app/assets}/images/icons/calendar/calendar_16x16.png +0 -0
  69. data/app/assets/images/icons/calendar/calendar_48x48.png +0 -0
  70. data/{public → app/assets}/images/icons/calendar/calendar_64x64.png +0 -0
  71. data/{public → app/assets}/images/icons/calendar/calendar_light_16x16.png +0 -0
  72. data/{public → app/assets}/images/icons/code/code_16x16.png +0 -0
  73. data/{public → app/assets}/images/icons/console/console_16x16.png +0 -0
  74. data/{public → app/assets}/images/icons/console/console_64x64.png +0 -0
  75. data/{public → app/assets}/images/icons/contact-us/contact-us_48x48.png +0 -0
  76. data/{public → app/assets}/images/icons/content/content_16x16.png +0 -0
  77. data/app/assets/images/icons/control_panel/control_panel_105x105.png +0 -0
  78. data/app/assets/images/icons/control_panel/control_panel_105x105_active.png +0 -0
  79. data/{public → app/assets}/images/icons/control_panel/control_panel_16x16.png +0 -0
  80. data/{public → app/assets}/images/icons/control_panel/control_panel_48x48.png +0 -0
  81. data/{public → app/assets}/images/icons/control_panel/control_panel_64x64.png +0 -0
  82. data/{public → app/assets}/images/icons/copy/copy_16x16.png +0 -0
  83. data/{public → app/assets}/images/icons/creditcards/creditcards_16x16.png +0 -0
  84. data/{public → app/assets}/images/icons/creditcards/creditcards_24x24.png +0 -0
  85. data/{public → app/assets}/images/icons/creditcards/creditcards_32x32.png +0 -0
  86. data/{public → app/assets}/images/icons/creditcards/creditcards_48x48.png +0 -0
  87. data/{public → app/assets}/images/icons/creditcards/creditcards_64x64.png +0 -0
  88. data/{public → app/assets}/images/icons/crm/crm_16x16.png +0 -0
  89. data/{public → app/assets}/images/icons/crm/crm_light_16x16.png +0 -0
  90. data/{public → app/assets}/images/icons/csr/csr_16x16.png +0 -0
  91. data/{public → app/assets}/images/icons/csr/csr_256x256.png +0 -0
  92. data/{public → app/assets}/images/icons/csr/csr_500x500.png +0 -0
  93. data/{public → app/assets}/images/icons/data/data_16x16.png +0 -0
  94. data/{public → app/assets}/images/icons/data/data_32x32.png +0 -0
  95. data/{public → app/assets}/images/icons/data/data_64x64.png +0 -0
  96. data/app/assets/images/icons/database/database_105x105.png +0 -0
  97. data/app/assets/images/icons/database/database_105x105_active.png +0 -0
  98. data/{public → app/assets}/images/icons/database/database_16x16.png +0 -0
  99. data/{public → app/assets}/images/icons/database_column/database_column_16x16.png +0 -0
  100. data/{public → app/assets}/images/icons/db_edit_data/db_edit_data_16x16.png +0 -0
  101. data/{public → app/assets}/images/icons/db_table/db_table_16x16.png +0 -0
  102. data/{public → app/assets}/images/icons/delete/delete_16x16.png +0 -0
  103. data/{public → app/assets}/images/icons/delete/delete_24x24.png +0 -0
  104. data/{public → app/assets}/images/icons/delete/delete_32x32.png +0 -0
  105. data/{public → app/assets}/images/icons/delete/delete_48x48.png +0 -0
  106. data/{public → app/assets}/images/icons/doc_settings/doc_settings_16x16.png +0 -0
  107. data/{public → app/assets}/images/icons/document/document_16x16.png +0 -0
  108. data/{public → app/assets}/images/icons/document/document_24x24.png +0 -0
  109. data/{public → app/assets}/images/icons/document/document_32x32.png +0 -0
  110. data/{public → app/assets}/images/icons/document/document_48x48.png +0 -0
  111. data/{public → app/assets}/images/icons/document_check/document_check_16x16.png +0 -0
  112. data/{public → app/assets}/images/icons/document_check/document_check_24x24.png +0 -0
  113. data/{public → app/assets}/images/icons/document_check/document_check_32x32.png +0 -0
  114. data/{public → app/assets}/images/icons/document_check/document_check_48x48.png +0 -0
  115. data/{public → app/assets}/images/icons/document_down/document_down_16x16.png +0 -0
  116. data/{public → app/assets}/images/icons/document_down/document_down_24x24.png +0 -0
  117. data/{public → app/assets}/images/icons/document_down/document_down_32x32.png +0 -0
  118. data/{public → app/assets}/images/icons/document_down/document_down_48x48.png +0 -0
  119. data/{public → app/assets}/images/icons/document_edit/document_edit_16x16.png +0 -0
  120. data/{public → app/assets}/images/icons/document_edit/document_edit_24x24.png +0 -0
  121. data/{public → app/assets}/images/icons/document_edit/document_edit_32x32.png +0 -0
  122. data/{public → app/assets}/images/icons/document_edit/document_edit_48x48.png +0 -0
  123. data/{public → app/assets}/images/icons/document_info/document_info_16x16.png +0 -0
  124. data/{public → app/assets}/images/icons/document_info/document_info_24x24.png +0 -0
  125. data/{public → app/assets}/images/icons/document_info/document_info_32x32.png +0 -0
  126. data/{public → app/assets}/images/icons/document_info/document_info_48x48.png +0 -0
  127. data/{public → app/assets}/images/icons/document_lock/document_lock_16x16.png +0 -0
  128. data/{public → app/assets}/images/icons/document_lock/document_lock_24x24.png +0 -0
  129. data/{public → app/assets}/images/icons/document_lock/document_lock_32x32.png +0 -0
  130. data/{public → app/assets}/images/icons/document_lock/document_lock_48x48.png +0 -0
  131. data/{public → app/assets}/images/icons/document_ok/document_ok_16x16.png +0 -0
  132. data/{public → app/assets}/images/icons/document_ok/document_ok_24x24.png +0 -0
  133. data/{public → app/assets}/images/icons/document_ok/document_ok_32x32.png +0 -0
  134. data/{public → app/assets}/images/icons/document_ok/document_ok_48x48.png +0 -0
  135. data/{public → app/assets}/images/icons/document_out/document_out_16x16.png +0 -0
  136. data/{public → app/assets}/images/icons/document_out/document_out_24x24.png +0 -0
  137. data/{public → app/assets}/images/icons/document_out/document_out_32x32.png +0 -0
  138. data/{public → app/assets}/images/icons/document_out/document_out_48x48.png +0 -0
  139. data/{public → app/assets}/images/icons/document_pulse/document_pulse_16x16.png +0 -0
  140. data/{public → app/assets}/images/icons/document_pulse/document_pulse_24x24.png +0 -0
  141. data/{public → app/assets}/images/icons/document_pulse/document_pulse_32x32.png +0 -0
  142. data/{public → app/assets}/images/icons/document_pulse/document_pulse_48x48.png +0 -0
  143. data/{public → app/assets}/images/icons/document_pulse/document_pulse_64x64.png +0 -0
  144. data/{public → app/assets}/images/icons/document_up/document_up_16x16.png +0 -0
  145. data/{public → app/assets}/images/icons/document_up/document_up_24x24.png +0 -0
  146. data/{public → app/assets}/images/icons/document_up/document_up_32x32.png +0 -0
  147. data/{public → app/assets}/images/icons/document_up/document_up_48x48.png +0 -0
  148. data/{public → app/assets}/images/icons/documents/documents_16x16.png +0 -0
  149. data/{public → app/assets}/images/icons/documents/documents_24x24.png +0 -0
  150. data/{public → app/assets}/images/icons/documents/documents_32x32.png +0 -0
  151. data/{public → app/assets}/images/icons/documents/documents_48x48.png +0 -0
  152. data/{public → app/assets}/images/icons/edit/edit_16x16.png +0 -0
  153. data/{public → app/assets}/images/icons/edit/edit_24x24.png +0 -0
  154. data/{public → app/assets}/images/icons/edit/edit_32x32.png +0 -0
  155. data/{public → app/assets}/images/icons/edit/edit_48x48.png +0 -0
  156. data/{public → app/assets}/images/icons/exit/exit_16x16.png +0 -0
  157. data/{public → app/assets}/images/icons/exit/exit_24x24.png +0 -0
  158. data/{public → app/assets}/images/icons/exit/exit_32x32.png +0 -0
  159. data/{public → app/assets}/images/icons/exit/exit_48x48.png +0 -0
  160. data/{public → app/assets}/images/icons/eye/eye_16x16.png +0 -0
  161. data/{public → app/assets}/images/icons/eye/eye_24x24.png +0 -0
  162. data/{public → app/assets}/images/icons/eye/eye_32x32.png +0 -0
  163. data/{public → app/assets}/images/icons/eye/eye_48x48.png +0 -0
  164. data/app/assets/images/icons/file-upload/file_upload-light.png +0 -0
  165. data/app/assets/images/icons/file-upload/file_upload_16x16-light.png +0 -0
  166. data/app/assets/images/icons/file-upload/file_upload_16x16.png +0 -0
  167. data/{public → app/assets}/images/icons/file_manager/file_manager_16x16.png +0 -0
  168. data/{public → app/assets}/images/icons/file_manager/file_manager_light_16x16.png +0 -0
  169. data/{public → app/assets}/images/icons/folder/folder_16x16.png +0 -0
  170. data/{public → app/assets}/images/icons/folder/folder_24x24.png +0 -0
  171. data/{public → app/assets}/images/icons/folder/folder_32x32.png +0 -0
  172. data/{public → app/assets}/images/icons/folder/folder_48x48.png +0 -0
  173. data/{public → app/assets}/images/icons/folders/folders_64x64.png +0 -0
  174. data/{public → app/assets}/images/icons/footprints/footprints_16x16.png +0 -0
  175. data/{public → app/assets}/images/icons/footprints/footprints_light_16x16.png +0 -0
  176. data/{public → app/assets}/images/icons/form/form_16x16.png +0 -0
  177. data/{public → app/assets}/images/icons/form/form_light_16x16.png +0 -0
  178. data/{public → app/assets}/images/icons/gantt/gantt_24x24.png +0 -0
  179. data/{public → app/assets}/images/icons/gear/gear_16x16.png +0 -0
  180. data/{public → app/assets}/images/icons/gear/gear_24x24.png +0 -0
  181. data/{public → app/assets}/images/icons/gear/gear_32x32.png +0 -0
  182. data/{public → app/assets}/images/icons/gear/gear_48x48.png +0 -0
  183. data/{public → app/assets}/images/icons/gear/gear_light_16x16.png +0 -0
  184. data/app/assets/images/icons/globe/globe_105x105.png +0 -0
  185. data/app/assets/images/icons/globe/globe_105x105_active.png +0 -0
  186. data/{public → app/assets}/images/icons/globe/globe_16x16.png +0 -0
  187. data/{public → app/assets}/images/icons/globe/globe_64x64.png +0 -0
  188. data/{public → app/assets}/images/icons/globe/globe_light_16x16.png +0 -0
  189. data/{public → app/assets}/images/icons/globe_disconnected/globe_disconnected_16x16.png +0 -0
  190. data/{public → app/assets}/images/icons/globe_disconnected/globe_disconnected_24x24.png +0 -0
  191. data/{public → app/assets}/images/icons/globe_disconnected/globe_disconnected_32x32.png +0 -0
  192. data/{public → app/assets}/images/icons/globe_disconnected/globe_disconnected_48x48.png +0 -0
  193. data/{public → app/assets}/images/icons/google-map/google-map_48x48.png +0 -0
  194. data/{public → app/assets}/images/icons/grid/grid_16x16.png +0 -0
  195. data/{public → app/assets}/images/icons/grid/grid_64x64.png +0 -0
  196. data/app/assets/images/icons/hide/hide_16x16.png +0 -0
  197. data/app/assets/images/icons/hide/hide_32x32.png +0 -0
  198. data/app/assets/images/icons/hide/hide_48x48.png +0 -0
  199. data/{public → app/assets}/images/icons/hierarchy/hierarchy_16x16.png +0 -0
  200. data/{public → app/assets}/images/icons/history/history_16x16.png +0 -0
  201. data/{public → app/assets}/images/icons/history/history_64x64.png +0 -0
  202. data/{public → app/assets}/images/icons/history/history_light_16x16.png +0 -0
  203. data/{public → app/assets}/images/icons/home/home_16x16.png +0 -0
  204. data/{public → app/assets}/images/icons/home/home_48x48.png +0 -0
  205. data/{public → app/assets}/images/icons/ia/ia_16x16.png +0 -0
  206. data/{public → app/assets}/images/icons/index/index_16x16.png +0 -0
  207. data/{public → app/assets}/images/icons/index/index_24x24.png +0 -0
  208. data/{public → app/assets}/images/icons/index/index_32x32.png +0 -0
  209. data/{public → app/assets}/images/icons/index/index_48x48.png +0 -0
  210. data/{public → app/assets}/images/icons/information/information_16x16.png +0 -0
  211. data/app/assets/images/icons/information/information_light_16x16.png +0 -0
  212. data/{public → app/assets}/images/icons/invoicing/invoicing_48x48.png +0 -0
  213. data/{public → app/assets}/images/icons/invoicing/invoicing_64x64.png +0 -0
  214. data/app/assets/images/icons/key/key_105x105.png +0 -0
  215. data/app/assets/images/icons/key/key_105x105_active.png +0 -0
  216. data/app/assets/images/icons/key/key_16x16-light.png +0 -0
  217. data/{public → app/assets}/images/icons/key/key_16x16.png +0 -0
  218. data/{public → app/assets}/images/icons/key/key_64x64.png +0 -0
  219. data/{public → app/assets}/images/icons/knitkit/knitkit_16x16.png +0 -0
  220. data/{public → app/assets}/images/icons/knitkit/knitkit_48x48.png +0 -0
  221. data/{public → app/assets}/images/icons/knitkit/knitkit_light_16x16.png +0 -0
  222. data/app/assets/images/icons/link/link_16x16.png +0 -0
  223. data/app/assets/images/icons/login/login_48x48.png +0 -0
  224. data/{public → app/assets}/images/icons/magnifying-glass/magnifying-glass_48x48.png +0 -0
  225. data/{public → app/assets}/images/icons/mail/mail_16x16.png +0 -0
  226. data/{public → app/assets}/images/icons/mail/mail_24x24.png +0 -0
  227. data/{public → app/assets}/images/icons/mail/mail_32x32.png +0 -0
  228. data/app/assets/images/icons/mail/mail_48x48.png +0 -0
  229. data/app/assets/images/icons/manage_profile/manage_profile_48x48.png +0 -0
  230. data/{public → app/assets}/images/icons/map/map_16x16.png +0 -0
  231. data/{public → app/assets}/images/icons/map/map_24x24.png +0 -0
  232. data/{public → app/assets}/images/icons/map/map_32x32.png +0 -0
  233. data/app/assets/images/icons/map/map_48x48.png +0 -0
  234. data/{public → app/assets}/images/icons/menu/menu_16x16.png +0 -0
  235. data/{public → app/assets}/images/icons/next/next_16x16.png +0 -0
  236. data/{public → app/assets}/images/icons/next/next_24x24.png +0 -0
  237. data/{public → app/assets}/images/icons/next/next_32x32.png +0 -0
  238. data/{public → app/assets}/images/icons/next/next_48x48.png +0 -0
  239. data/{public → app/assets}/images/icons/note/note_16x16.png +0 -0
  240. data/{public → app/assets}/images/icons/note/note_24x24.png +0 -0
  241. data/{public → app/assets}/images/icons/note/note_32x32.png +0 -0
  242. data/{public → app/assets}/images/icons/note/note_48x48.png +0 -0
  243. data/{public → app/assets}/images/icons/ordered_list/ordered_list_16x16.png +0 -0
  244. data/app/assets/images/icons/package/logo.png +0 -0
  245. data/{public → app/assets}/images/icons/package/package_16x16.png +0 -0
  246. data/{public → app/assets}/images/icons/package/package_24x24.png +0 -0
  247. data/{public → app/assets}/images/icons/package/package_32x32.png +0 -0
  248. data/app/assets/images/icons/package/package_48x48.png +0 -0
  249. data/{public → app/assets}/images/icons/package/package_64x64.png +0 -0
  250. data/{public → app/assets}/images/icons/package/package_light_16x16.png +0 -0
  251. data/{public → app/assets}/images/icons/palette/palette_64x64.png +0 -0
  252. data/{public → app/assets}/images/icons/person/person_16x16.png +0 -0
  253. data/{public → app/assets}/images/icons/phone/phone_16x16.png +0 -0
  254. data/{public → app/assets}/images/icons/phone/phone_64x64.png +0 -0
  255. data/{public → app/assets}/images/icons/picture/picture_16x16.png +0 -0
  256. data/{public → app/assets}/images/icons/play/play_16x16.png +0 -0
  257. data/{public → app/assets}/images/icons/preferences/preferences_16x16.png +0 -0
  258. data/{public → app/assets}/images/icons/preferences/preferences_24x24.png +0 -0
  259. data/{public → app/assets}/images/icons/preferences/preferences_32x32.png +0 -0
  260. data/{public → app/assets}/images/icons/preferences/preferences_48x48.png +0 -0
  261. data/{public → app/assets}/images/icons/preview/preview_16x16.png +0 -0
  262. data/{public → app/assets}/images/icons/preview/preview_24x24.png +0 -0
  263. data/{public → app/assets}/images/icons/preview/preview_32x32.png +0 -0
  264. data/{public → app/assets}/images/icons/preview/preview_48x48.png +0 -0
  265. data/{public → app/assets}/images/icons/product/product_16x16.png +0 -0
  266. data/{public → app/assets}/images/icons/product/product_24x24.png +0 -0
  267. data/{public → app/assets}/images/icons/product/product_32x32.png +0 -0
  268. data/app/assets/images/icons/product/product_48x48.png +0 -0
  269. data/{public → app/assets}/images/icons/product/product_64x64.png +0 -0
  270. data/{public → app/assets}/images/icons/product/product_light_16x16.png +0 -0
  271. data/{public → app/assets}/images/icons/properties/properties_16x16.png +0 -0
  272. data/{public → app/assets}/images/icons/properties/properties_24x24.png +0 -0
  273. data/{public → app/assets}/images/icons/properties/properties_32x32.png +0 -0
  274. data/{public → app/assets}/images/icons/properties/properties_48x48.png +0 -0
  275. data/{public → app/assets}/images/icons/query/query_16x16.png +0 -0
  276. data/app/assets/images/icons/recycle/recycle_16x16.png +0 -0
  277. data/{public → app/assets}/images/icons/recycle/recycle_24x24.png +0 -0
  278. data/{public → app/assets}/images/icons/recycle/recycle_32x32.png +0 -0
  279. data/{public → app/assets}/images/icons/recycle/recycle_48x48.png +0 -0
  280. data/{public → app/assets}/images/icons/redo/redo_16x16.png +0 -0
  281. data/{public → app/assets}/images/icons/redo/redo_24x24.png +0 -0
  282. data/{public → app/assets}/images/icons/redo/redo_32x32.png +0 -0
  283. data/{public → app/assets}/images/icons/redo/redo_48x48.png +0 -0
  284. data/{public → app/assets}/images/icons/refresh/refresh_16x16.png +0 -0
  285. data/{public → app/assets}/images/icons/refresh/refresh_24x24.png +0 -0
  286. data/{public → app/assets}/images/icons/refresh/refresh_32x32.png +0 -0
  287. data/{public → app/assets}/images/icons/refresh/refresh_48x48.png +0 -0
  288. data/{public → app/assets}/images/icons/remove/remove_16x16.png +0 -0
  289. data/{public → app/assets}/images/icons/remove/remove_24x24.png +0 -0
  290. data/{public → app/assets}/images/icons/remove/remove_32x32.png +0 -0
  291. data/{public → app/assets}/images/icons/remove/remove_48x48.png +0 -0
  292. data/{public → app/assets}/images/icons/rename/rename_16x16.png +0 -0
  293. data/{public → app/assets}/images/icons/rename/rename_24x24.png +0 -0
  294. data/{public → app/assets}/images/icons/rename/rename_32xr2.png +0 -0
  295. data/{public → app/assets}/images/icons/rename/rename_48x48.png +0 -0
  296. data/{public → app/assets}/images/icons/report/report_16x16.png +0 -0
  297. data/app/assets/images/icons/reset_password/reset_password_48x48.png +0 -0
  298. data/{public → app/assets}/images/icons/rowselect/rowselect_16x16.png +0 -0
  299. data/{public → app/assets}/images/icons/save/save_16x16.png +0 -0
  300. data/{public → app/assets}/images/icons/save/save_24x24.png +0 -0
  301. data/{public → app/assets}/images/icons/save/save_32x32.png +0 -0
  302. data/{public → app/assets}/images/icons/save/save_48x48.png +0 -0
  303. data/{public → app/assets}/images/icons/save_as/save_as_16x16.png +0 -0
  304. data/{public → app/assets}/images/icons/save_as/save_as_24x24.png +0 -0
  305. data/{public → app/assets}/images/icons/save_as/save_as_32x32.png +0 -0
  306. data/{public → app/assets}/images/icons/save_as/save_as_48x48.png +0 -0
  307. data/{public → app/assets}/images/icons/scaffold/scaffold_16x16.png +0 -0
  308. data/{public → app/assets}/images/icons/scaffold/scaffold_light_16x16.png +0 -0
  309. data/{public → app/assets}/images/icons/search/search_16x16.png +0 -0
  310. data/{public → app/assets}/images/icons/search/search_24x24.png +0 -0
  311. data/{public → app/assets}/images/icons/search/search_32x32.png +0 -0
  312. data/app/assets/images/icons/search/search_48x48.png +0 -0
  313. data/{public → app/assets}/images/icons/search/search_light_16x16.png +0 -0
  314. data/{public → app/assets}/images/icons/section/section_16x16.png +0 -0
  315. data/{public → app/assets}/images/icons/section/section_24x24.png +0 -0
  316. data/{public → app/assets}/images/icons/section/section_32x32.png +0 -0
  317. data/{public → app/assets}/images/icons/section/section_48x48.png +0 -0
  318. data/{public → app/assets}/images/icons/section_lock/section_lock_16x16.png +0 -0
  319. data/{public → app/assets}/images/icons/section_lock/section_lock_24x24.png +0 -0
  320. data/{public → app/assets}/images/icons/section_lock/section_lock_32x32.png +0 -0
  321. data/{public → app/assets}/images/icons/section_lock/section_lock_48x48.png +0 -0
  322. data/{public → app/assets}/images/icons/secure/secure_16x16.png +0 -0
  323. data/{public → app/assets}/images/icons/settings/settings_16x16.png +0 -0
  324. data/{public → app/assets}/images/icons/settings/settings_light_16x16.png +0 -0
  325. data/{public → app/assets}/images/icons/shopping_cart/shopping_card_64x64.png +0 -0
  326. data/{public → app/assets}/images/icons/shopping_cart/shopping_cart_32x32.png +0 -0
  327. data/app/assets/images/icons/shopping_cart/shopping_cart_48x48.png +0 -0
  328. data/{public → app/assets}/images/icons/sign_up/sign_up_32x32.png +0 -0
  329. data/app/assets/images/icons/sign_up/sign_up_48x48.png +0 -0
  330. data/{public → app/assets}/images/icons/sign_up/sign_up_64x64.png +0 -0
  331. data/{public → app/assets}/images/icons/simple_arrow/simple_arrow_16x16.png +0 -0
  332. data/{public → app/assets}/images/icons/small_gear/small_gear_16x16.png +0 -0
  333. data/{public → app/assets}/images/icons/sql/sql_16x16.png +0 -0
  334. data/{public → app/assets}/images/icons/tables/tables_16x16.png +0 -0
  335. data/app/assets/images/icons/template/template_16x16.png +0 -0
  336. data/{public → app/assets}/images/icons/theme/theme_16x16.png +0 -0
  337. data/{public → app/assets}/images/icons/theme_upload/theme_upload_16x16.png +0 -0
  338. data/{public → app/assets}/images/icons/ticket/tag_16x16.png +0 -0
  339. data/{public → app/assets}/images/icons/undo/undo_16x16.png +0 -0
  340. data/app/assets/images/icons/unhide/unhide_16x16.png +0 -0
  341. data/app/assets/images/icons/user/user_105x105.png +0 -0
  342. data/app/assets/images/icons/user/user_105x105_active.png +0 -0
  343. data/{public → app/assets}/images/icons/user/user_128x128.png +0 -0
  344. data/{public → app/assets}/images/icons/user/user_16x16.png +0 -0
  345. data/app/assets/images/icons/user/user_48x48.png +0 -0
  346. data/{public → app/assets}/images/icons/user/user_64x64.png +0 -0
  347. data/{public → app/assets}/images/icons/user/user_light_16x16.png +0 -0
  348. data/{public → app/assets}/images/icons/user_mgt/user_mgt_16x16.png +0 -0
  349. data/{public → app/assets}/images/icons/user_mgt/user_mgt_light_16x16.png +0 -0
  350. data/{public → app/assets}/images/icons/vcard/vcard_16x16.png +0 -0
  351. data/{public → app/assets}/images/icons/view/view_16x16.png +0 -0
  352. data/{public → app/assets}/images/icons/view/view_24x24.png +0 -0
  353. data/{public → app/assets}/images/icons/view/view_32x32.png +0 -0
  354. data/{public → app/assets}/images/icons/view/view_48x48.png +0 -0
  355. data/{public → app/assets}/images/icons/warning/waring_16x16.png +0 -0
  356. data/app/assets/images/icons/website/website_105x105.png +0 -0
  357. data/app/assets/images/icons/website/website_105x105_active.png +0 -0
  358. data/{public → app/assets}/images/icons/website/website_16x16.png +0 -0
  359. data/{public → app/assets}/images/icons/website_download/website_download_16x16.png +0 -0
  360. data/{public → app/assets}/images/icons/website_publications/website_publications_16x16.png +0 -0
  361. data/{public → app/assets}/images/icons/website_upload/website_upload_16x16.png +0 -0
  362. data/{public → app/assets}/images/img_blank.png +0 -0
  363. data/{public → app/assets}/images/loading_icon.gif +0 -0
  364. data/app/assets/images/splash/icons/console_icon.png +0 -0
  365. data/app/assets/images/splash/icons/console_icon_active.png +0 -0
  366. data/app/assets/images/splash/icons/db_icon.png +0 -0
  367. data/app/assets/images/splash/icons/db_icon_active.png +0 -0
  368. data/app/assets/images/splash/icons/help_icon.png +0 -0
  369. data/app/assets/images/splash/icons/help_icon_active.png +0 -0
  370. data/{public → app/assets}/images/splash_screen/browse_docs_icon.png +0 -0
  371. data/{public → app/assets}/images/splash_screen/contact_mgt_icon.png +0 -0
  372. data/{public → app/assets}/images/splash_screen/desktop_icon.png +0 -0
  373. data/{public → app/assets}/images/tab/tab-default-close.png +0 -0
  374. data/{public → app/assets}/images/unchecked.gif +0 -0
  375. data/{public → app/assets}/images/wallpaper/truenorth_tech.png +0 -0
  376. data/app/assets/javascripts/codemirror_compassae.js +31 -0
  377. data/app/assets/javascripts/erp_app/authentication/compass_user.js +97 -0
  378. data/app/assets/javascripts/erp_app/desktop/app.js +15 -0
  379. data/app/assets/javascripts/erp_app/desktop/applications/audit_log_viewer/app.js +13 -0
  380. data/app/assets/javascripts/erp_app/desktop/applications/audit_log_viewer/module.js +38 -0
  381. data/app/assets/javascripts/erp_app/desktop/applications/configuration_management/app.js +17 -0
  382. data/{public → app/assets}/javascripts/erp_app/desktop/applications/configuration_management/configuration_options_panel.js +0 -0
  383. data/{public → app/assets}/javascripts/erp_app/desktop/applications/configuration_management/configuration_tree_panel.js +0 -0
  384. data/{public → app/assets}/javascripts/erp_app/desktop/applications/configuration_management/configuration_types_panel.js +0 -0
  385. data/app/assets/javascripts/erp_app/desktop/applications/configuration_management/module.js +96 -0
  386. data/{public/javascripts/erp_app/desktop/applications/configuration_management/stores.0.js → app/assets/javascripts/erp_app/desktop/applications/configuration_management/stores.js} +0 -0
  387. data/app/assets/javascripts/erp_app/desktop/applications/file_manager/app.js +13 -0
  388. data/app/assets/javascripts/erp_app/desktop/applications/file_manager/module.js +134 -0
  389. data/app/assets/javascripts/erp_app/desktop/applications/job_tracker/app.js +14 -0
  390. data/{public → app/assets}/javascripts/erp_app/desktop/applications/job_tracker/jobs_grid.js +0 -0
  391. data/app/assets/javascripts/erp_app/desktop/applications/job_tracker/module.js +44 -0
  392. data/app/assets/javascripts/erp_app/desktop/applications/security_management/app.js +24 -0
  393. data/app/assets/javascripts/erp_app/desktop/applications/security_management/capabilities_panel.js +54 -0
  394. data/app/assets/javascripts/erp_app/desktop/applications/security_management/capabilities_widget.js +245 -0
  395. data/{public → app/assets}/javascripts/erp_app/desktop/applications/security_management/common_widget.js +0 -0
  396. data/app/assets/javascripts/erp_app/desktop/applications/security_management/groups_effective_security.js +80 -0
  397. data/app/assets/javascripts/erp_app/desktop/applications/security_management/groups_panel.js +271 -0
  398. data/app/assets/javascripts/erp_app/desktop/applications/security_management/groups_widget.js +245 -0
  399. data/app/assets/javascripts/erp_app/desktop/applications/security_management/mixins/widget.js +39 -0
  400. data/app/assets/javascripts/erp_app/desktop/applications/security_management/module.js +155 -0
  401. data/app/assets/javascripts/erp_app/desktop/applications/security_management/north_panel.js +23 -0
  402. data/app/assets/javascripts/erp_app/desktop/applications/security_management/roles_panel.js +334 -0
  403. data/app/assets/javascripts/erp_app/desktop/applications/security_management/roles_widget.js +258 -0
  404. data/app/assets/javascripts/erp_app/desktop/applications/security_management/south_panel.js +70 -0
  405. data/app/assets/javascripts/erp_app/desktop/applications/system_management/app.js +15 -0
  406. data/app/assets/javascripts/erp_app/desktop/applications/system_management/form.js +100 -0
  407. data/app/assets/javascripts/erp_app/desktop/applications/system_management/module.js +227 -0
  408. data/app/assets/javascripts/erp_app/desktop/applications/system_management/stores.js +48 -0
  409. data/app/assets/javascripts/erp_app/desktop/applications/tail/app.js +14 -0
  410. data/{public → app/assets}/javascripts/erp_app/desktop/applications/tail/module.js +0 -0
  411. data/{public → app/assets}/javascripts/erp_app/desktop/applications/tail/tail_panel.js +0 -0
  412. data/app/assets/javascripts/erp_app/desktop/applications/user_management/app.js +13 -0
  413. data/app/assets/javascripts/erp_app/desktop/applications/user_management/module.js +454 -0
  414. data/app/assets/javascripts/erp_app/desktop/applications/web_navigator/app.js +13 -0
  415. data/{public → app/assets}/javascripts/erp_app/desktop/applications/web_navigator/module.js +0 -0
  416. data/app/assets/javascripts/erp_app/desktop/ext_ux_desktop_module.js +1016 -0
  417. data/app/assets/javascripts/erp_app/desktop/select_roles_window.js +267 -0
  418. data/app/assets/javascripts/erp_app/ecommerce/credit_card_window.js +343 -0
  419. data/app/assets/javascripts/erp_app/jquery_support.js +45 -0
  420. data/app/assets/javascripts/erp_app/login/ResetPassword.js +128 -0
  421. data/app/assets/javascripts/erp_app/login/mobile.js +77 -0
  422. data/app/assets/javascripts/erp_app/login/window.js +238 -0
  423. data/app/assets/javascripts/erp_app/organizer/app.js +15 -0
  424. data/app/assets/javascripts/erp_app/organizer/applications/crm/app.js +14 -0
  425. data/app/assets/javascripts/erp_app/organizer/applications/crm/base.js +64 -0
  426. data/{public → app/assets}/javascripts/erp_app/organizer/applications/crm/relationship_grid.js +0 -0
  427. data/app/assets/javascripts/erp_app/organizer/layout.js +258 -0
  428. data/{public → app/assets}/javascripts/erp_app/organizer/preference_window.js +0 -0
  429. data/app/assets/javascripts/erp_app/shared/DateTimeField.js +77 -0
  430. data/app/assets/javascripts/erp_app/shared/MoneyField.js +120 -0
  431. data/app/assets/javascripts/erp_app/shared/MultiOptions.js +182 -0
  432. data/app/assets/javascripts/erp_app/shared/Party/AppsInstalledPanel.js +302 -0
  433. data/app/assets/javascripts/erp_app/shared/Party/LoginInfoPanel.js +291 -0
  434. data/app/assets/javascripts/erp_app/shared/Party/SecurityPanel.js +448 -0
  435. data/app/assets/javascripts/erp_app/shared/Party/UserTypePanel.js +198 -0
  436. data/{public → app/assets}/javascripts/erp_app/shared/PartySearchField.js +0 -0
  437. data/app/assets/javascripts/erp_app/shared/TimePickerField.js +189 -0
  438. data/{public → app/assets}/javascripts/erp_app/shared/TransitionCardLayout.js +0 -0
  439. data/app/assets/javascripts/erp_app/shared/TypeSelectionTree.js +510 -0
  440. data/app/assets/javascripts/erp_app/shared/active_ext/active_ext_grid.js +351 -0
  441. data/{public → app/assets}/javascripts/erp_app/shared/active_ext/active_ext_grid_panel.js +0 -0
  442. data/app/assets/javascripts/erp_app/shared/audit_log/GridPanel.js +214 -0
  443. data/{public → app/assets}/javascripts/erp_app/shared/audit_log/ItemGridPanel.js +0 -0
  444. data/app/assets/javascripts/erp_app/shared/audit_log/TabPanel.js +116 -0
  445. data/app/assets/javascripts/erp_app/shared/compass_ckeditor.js +267 -0
  446. data/app/assets/javascripts/erp_app/shared/compass_codemirror.js +464 -0
  447. data/{public → app/assets}/javascripts/erp_app/shared/configuration/configuration_form.js +0 -0
  448. data/app/assets/javascripts/erp_app/shared/configuration/configuration_panel.js +141 -0
  449. data/{public → app/assets}/javascripts/erp_app/shared/coolclock/tray_clock2.js +0 -0
  450. data/app/assets/javascripts/erp_app/shared/crm/ContactMechanismGrid.js +754 -0
  451. data/app/assets/javascripts/erp_app/shared/crm/PartyDetailsPanel.js +344 -0
  452. data/app/assets/javascripts/erp_app/shared/crm/PartyForm.js +321 -0
  453. data/{public → app/assets}/javascripts/erp_app/shared/crm/PartyFormPanel.js +0 -0
  454. data/app/assets/javascripts/erp_app/shared/crm/PartyGrid.js +595 -0
  455. data/app/assets/javascripts/erp_app/shared/crm/UserForm.js +302 -0
  456. data/app/assets/javascripts/erp_app/shared/crm/UsersGrid.js +535 -0
  457. data/app/assets/javascripts/erp_app/shared/dynamic_editable_grid.js +181 -0
  458. data/app/assets/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +65 -0
  459. data/app/assets/javascripts/erp_app/shared/dynamic_form_fields.js +104 -0
  460. data/{public → app/assets}/javascripts/erp_app/shared/encryption/encryption.js +0 -0
  461. data/app/assets/javascripts/erp_app/shared/erp_app_shared.js +13 -0
  462. data/app/assets/javascripts/erp_app/shared/file_manager_tree.js +750 -0
  463. data/app/assets/javascripts/erp_app/shared/file_upload/Ext.ux.panel.UploadPanel.js +581 -0
  464. data/{public → app/assets}/javascripts/erp_app/shared/file_upload/plupload.flash.swf +0 -0
  465. data/{public → app/assets}/javascripts/erp_app/shared/file_upload/plupload.full.js +0 -0
  466. data/{public → app/assets}/javascripts/erp_app/shared/file_upload/plupload.silverlight.xap +0 -0
  467. data/app/assets/javascripts/erp_app/shared/file_upload/upload_window.js +65 -0
  468. data/{public → app/assets}/javascripts/erp_app/shared/google_map_panel.js +0 -0
  469. data/app/assets/javascripts/erp_app/shared/notes_grid.js +338 -0
  470. data/{public → app/assets}/javascripts/erp_app/shared/preferences/application_management_panel.js +0 -0
  471. data/{public → app/assets}/javascripts/erp_app/shared/preferences/form.js +0 -0
  472. data/app/assets/javascripts/erp_app/shared/profile_management_panel.js +140 -0
  473. data/{public → app/assets}/javascripts/erp_app/shared/status_window.js +0 -0
  474. data/app/assets/javascripts/erp_app/utility.js +809 -0
  475. data/app/assets/javascripts/erp_app/widgets.js +122 -0
  476. data/{public → app/assets}/javascripts/jquery_plugins/jquery.address.min.js +0 -0
  477. data/{public → app/assets}/javascripts/jquery_plugins/jquery.loadmask.min.js +0 -0
  478. data/app/assets/stylesheets/codemirror_compassae.css +14 -0
  479. data/app/assets/stylesheets/erp_app/desktop/applications/audit_log_viewer/app.css +11 -0
  480. data/app/assets/stylesheets/erp_app/desktop/applications/configuration_management/app.css +11 -0
  481. data/app/assets/stylesheets/erp_app/desktop/applications/file_manager/app.css +11 -0
  482. data/app/assets/stylesheets/erp_app/desktop/applications/job_tracker/app.css +11 -0
  483. data/app/assets/stylesheets/erp_app/desktop/applications/scaffold/app.css +11 -0
  484. data/app/assets/stylesheets/erp_app/desktop/applications/security_management/app.css +12 -0
  485. data/{public → app/assets}/stylesheets/erp_app/desktop/applications/security_management/styles.css +0 -0
  486. data/app/assets/stylesheets/erp_app/desktop/applications/tail/app.css +11 -0
  487. data/app/assets/stylesheets/erp_app/desktop/applications/user_management/app.css +11 -0
  488. data/app/assets/stylesheets/erp_app/desktop/base.css +262 -0
  489. data/app/assets/stylesheets/erp_app/login/main.css +17 -0
  490. data/app/assets/stylesheets/erp_app/organizer/applications/crm/app.css +12 -0
  491. data/app/assets/stylesheets/erp_app/organizer/base.css +19 -0
  492. data/app/assets/stylesheets/erp_app/shared/compass-ext-all.css +599 -0
  493. data/app/assets/stylesheets/erp_app/shared/crm.css +45 -0
  494. data/app/assets/stylesheets/erp_app/shared/erp_app_shared.css +12 -0
  495. data/{public → app/assets}/stylesheets/erp_app/shared/grid_cell.css +0 -0
  496. data/{public → app/assets}/stylesheets/erp_app/shared/hover_finger.css +0 -0
  497. data/app/assets/stylesheets/jquery_plugins/jquery.loadmask.css +53 -0
  498. data/app/controllers/api/v1/applications_controller.rb +179 -0
  499. data/app/controllers/erp_app/application_controller.rb +7 -1
  500. data/app/controllers/erp_app/desktop/base_controller.rb +0 -1
  501. data/app/controllers/erp_app/desktop/file_manager/base_controller.rb +5 -3
  502. data/app/controllers/erp_app/desktop/system_management/types_controller.rb +126 -0
  503. data/app/controllers/erp_app/desktop/user_management/application_management_controller.rb +68 -36
  504. data/app/controllers/erp_app/desktop/user_management/base_controller.rb +0 -0
  505. data/app/controllers/erp_app/desktop/user_management/role_management_controller.rb +0 -0
  506. data/app/controllers/erp_app/login_controller.rb +30 -2
  507. data/app/controllers/erp_app/organizer/base_controller.rb +3 -30
  508. data/app/controllers/erp_app/organizer/crm/contact_mechanisms_controller.rb +4 -2
  509. data/app/controllers/erp_app/organizer/crm/parties_controller.rb +26 -2
  510. data/app/controllers/erp_app/organizer/crm/users_controller.rb +22 -0
  511. data/app/controllers/erp_app/public_controller.rb +3 -0
  512. data/app/controllers/erp_app/shared/audit_log_controller.rb +1 -1
  513. data/app/controllers/erp_app/shared/configuration_controller.rb +1 -1
  514. data/app/controllers/erp_app/shared/notes_controller.rb +0 -6
  515. data/app/controllers/erp_app/widget_proxy_controller.rb +19 -5
  516. data/app/mailers/crm_mailer.rb +2 -1
  517. data/app/models/application.rb +88 -6
  518. data/app/models/configuration.rb +7 -0
  519. data/app/models/configuration_item.rb +6 -0
  520. data/app/models/extensions/party.rb +9 -0
  521. data/app/models/extensions/user.rb +42 -15
  522. data/app/models/preference_type.rb +1 -1
  523. data/app/views/erp_app/desktop/base/index.erb +253 -203
  524. data/app/views/erp_app/login/index.erb +28 -20
  525. data/app/views/erp_app/login/reset_password.erb +30 -0
  526. data/app/views/erp_app/organizer/base/index.erb +28 -23
  527. data/app/views/erp_app/organizer/crm/parties/details.erb +1 -1
  528. data/config/routes.rb +29 -17
  529. data/db/data_migrations/20110728201729_erp_app_setup.rb +168 -240
  530. data/db/data_migrations/20110728201730_add_system_management_tool.rb +27 -0
  531. data/db/data_migrations/20150929185612_add_applications_to_dba_org.rb +31 -0
  532. data/db/migrate/20080805000096_base_app_framework.rb +36 -44
  533. data/lib/erp_app.rb +2 -2
  534. data/lib/erp_app/config.rb +9 -3
  535. data/lib/erp_app/engine.rb +114 -12
  536. data/lib/erp_app/extensions/compass_ae/erp_tech_svcs/session_controller.rb +27 -0
  537. data/lib/erp_app/extensions/railties/action_view/base.rb +32 -6
  538. data/lib/erp_app/extensions/railties/action_view/helpers/include_helper.rb +37 -30
  539. data/lib/erp_app/version.rb +1 -1
  540. data/lib/erp_app/widgets/base.rb +6 -4
  541. data/lib/erp_app/widgets/loader.rb +1 -1
  542. data/lib/erp_app/widgets/railties/action_view/helpers/widget_helper.rb +12 -12
  543. data/lib/generators/admin_tool/USAGE +23 -0
  544. data/lib/generators/admin_tool/admin_tool_generator.rb +28 -0
  545. data/lib/generators/admin_tool/templates/INSTALL +23 -0
  546. data/lib/generators/{desktop_application/templates/public/module.js.erb → admin_tool/templates/assets/javascripts/Module.js.erb} +0 -0
  547. data/lib/generators/admin_tool/templates/assets/javascripts/app.js.erb +17 -0
  548. data/lib/generators/admin_tool/templates/assets/stylesheets/app.css.erb +11 -0
  549. data/lib/generators/{desktop_application → admin_tool}/templates/controllers/controller_template.erb +0 -0
  550. data/lib/generators/{desktop_application → admin_tool}/templates/migrate/migration_template.erb +0 -0
  551. data/lib/generators/application/USAGE +23 -0
  552. data/lib/generators/application/application_generator.rb +28 -0
  553. data/lib/generators/application/templates/INSTALL +23 -0
  554. data/lib/generators/application/templates/assets/javascripts/Application.js.erb +20 -0
  555. data/lib/generators/application/templates/assets/javascripts/app.js.erb +17 -0
  556. data/lib/generators/application/templates/assets/stylesheets/app.css.erb +11 -0
  557. data/lib/generators/application/templates/controllers/controller_template.erb +9 -0
  558. data/lib/generators/application/templates/migrate/migration_template.erb +21 -0
  559. data/lib/generators/cms_widget/templates/engine/engine_template.erb +2 -2
  560. data/lib/generators/cms_widget/templates/helpers/controller/controller_helper_template.erb +1 -1
  561. data/lib/generators/cms_widget/templates/helpers/view/view_helper_template.erb +1 -1
  562. data/lib/generators/cms_widget/templates/javascript/base.js.erb +1 -1
  563. data/public/javascripts/{erp_app/ckeditor → ckeditor}/ckeditor.js +0 -0
  564. data/public/javascripts/ckeditor/config.js +14 -0
  565. data/public/javascripts/{erp_app/ckeditor → ckeditor}/contents.css +0 -0
  566. data/public/javascripts/{erp_app/ckeditor → ckeditor}/lang/en.js +0 -0
  567. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  568. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -0
  569. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ar.js +0 -0
  570. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/bg.js +0 -0
  571. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ca.js +0 -0
  572. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/cs.js +0 -0
  573. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/cy.js +0 -0
  574. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/da.js +0 -0
  575. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/de.js +0 -0
  576. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/el.js +0 -0
  577. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/en.js +0 -0
  578. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/eo.js +0 -0
  579. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/es.js +0 -0
  580. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/et.js +0 -0
  581. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/fa.js +0 -0
  582. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/fi.js +0 -0
  583. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/fr-ca.js +0 -0
  584. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/fr.js +0 -0
  585. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/gl.js +0 -0
  586. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/gu.js +0 -0
  587. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/he.js +0 -0
  588. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/hi.js +0 -0
  589. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/hr.js +0 -0
  590. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/hu.js +0 -0
  591. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/id.js +0 -0
  592. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/it.js +0 -0
  593. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ja.js +0 -0
  594. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/km.js +0 -0
  595. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ku.js +0 -0
  596. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/lt.js +0 -0
  597. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/lv.js +0 -0
  598. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/mk.js +0 -0
  599. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/mn.js +0 -0
  600. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/nb.js +0 -0
  601. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/nl.js +0 -0
  602. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/no.js +0 -0
  603. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/pl.js +0 -0
  604. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -0
  605. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/pt.js +0 -0
  606. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ro.js +0 -0
  607. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ru.js +0 -0
  608. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/si.js +0 -0
  609. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sk.js +0 -0
  610. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sl.js +0 -0
  611. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sq.js +0 -0
  612. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sr-latn.js +0 -0
  613. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sr.js +0 -0
  614. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/sv.js +0 -0
  615. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/th.js +0 -0
  616. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/tr.js +0 -0
  617. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/ug.js +0 -0
  618. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/uk.js +0 -0
  619. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/vi.js +0 -0
  620. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -0
  621. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/about/dialogs/about.js +0 -0
  622. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  623. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/about/dialogs/logo_ckeditor.png +0 -0
  624. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/clipboard/dialogs/paste.js +0 -0
  625. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/codemirror/lang/en.js +0 -0
  626. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/codemirror/plugin.js +0 -0
  627. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/colordialog/dialogs/colordialog.js +0 -0
  628. data/public/javascripts/ckeditor/plugins/compasssave/plugin.js +22 -0
  629. data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1006 -0
  630. data/public/javascripts/ckeditor/plugins/dialog/plugin.js +3232 -0
  631. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/div/dialogs/div.js +0 -0
  632. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/fakeobjects/images/spacer.gif +0 -0
  633. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/find/dialogs/find.js +0 -0
  634. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/flash/dialogs/flash.js +0 -0
  635. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/flash/images/placeholder.png +0 -0
  636. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/button.js +0 -0
  637. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/checkbox.js +0 -0
  638. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/form.js +0 -0
  639. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/hiddenfield.js +0 -0
  640. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/radio.js +0 -0
  641. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/select.js +0 -0
  642. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/textarea.js +0 -0
  643. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/dialogs/textfield.js +0 -0
  644. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/forms/images/hiddenfield.gif +0 -0
  645. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/icons.png +0 -0
  646. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/icons_hidpi.png +0 -0
  647. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/iframe/dialogs/iframe.js +0 -0
  648. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/iframe/images/placeholder.png +0 -0
  649. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/image/dialogs/image.js +0 -0
  650. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/image/images/noimage.png +0 -0
  651. data/public/javascripts/ckeditor/plugins/inlineeditsave/plugin.js +42 -0
  652. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/config.js +0 -0
  653. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/dialogs/jwplayer.js +0 -0
  654. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/help.txt +0 -0
  655. data/public/javascripts/erp_app/ckeditor/plugins/jwplayer/jwplayer/JW Player Quick Start Guide.pdf b/data/public/javascripts/ckeditor/plugins/jwplayer/jwplayer/JW Player Quick Start → Guide.pdf +0 -0
  656. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/jwPlayer.gif +0 -0
  657. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/jwplayer.js +0 -0
  658. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/license.txt +0 -0
  659. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/player.swf +0 -0
  660. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/preview.jpg +0 -0
  661. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/readme.html +0 -0
  662. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/beelden.zip +0 -0
  663. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/glow.zip +0 -0
  664. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/modieus.zip +0 -0
  665. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/simple.zip +0 -0
  666. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/snel.zip +0 -0
  667. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/stijl.zip +0 -0
  668. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/skin/stormtrooper.zip +0 -0
  669. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/swfobject.js +0 -0
  670. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/video.mp4 +0 -0
  671. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/jwplayer/yt.swf +0 -0
  672. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/jwplayer/plugin.js +0 -0
  673. data/public/javascripts/ckeditor/plugins/knitkitthemes/plugin.js +116 -0
  674. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/link/dialogs/anchor.js +0 -0
  675. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/link/dialogs/link.js +0 -0
  676. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/link/images/anchor.png +0 -0
  677. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/link/images/hidpi/anchor.png +0 -0
  678. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/liststyle/dialogs/liststyle.js +0 -0
  679. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/magicline/images/hidpi/icon.png +0 -0
  680. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/magicline/images/icon.png +0 -0
  681. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/pagebreak/images/pagebreak.gif +0 -0
  682. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/pastefromword/filter/default.js +0 -0
  683. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/preview/preview.html +0 -0
  684. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/scayt/LICENSE.md +0 -0
  685. data/public/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  686. data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +473 -0
  687. data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  688. data/public/javascripts/ckeditor/plugins/scayt/icons/hidpi/scayt.png +0 -0
  689. data/public/javascripts/ckeditor/plugins/scayt/icons/scayt.png +0 -0
  690. data/public/javascripts/ckeditor/plugins/scayt/lang/af.js +34 -0
  691. data/public/javascripts/ckeditor/plugins/scayt/lang/ar.js +34 -0
  692. data/public/javascripts/ckeditor/plugins/scayt/lang/bg.js +34 -0
  693. data/public/javascripts/ckeditor/plugins/scayt/lang/bn.js +34 -0
  694. data/public/javascripts/ckeditor/plugins/scayt/lang/bs.js +34 -0
  695. data/public/javascripts/ckeditor/plugins/scayt/lang/ca.js +34 -0
  696. data/public/javascripts/ckeditor/plugins/scayt/lang/cs.js +34 -0
  697. data/public/javascripts/ckeditor/plugins/scayt/lang/cy.js +34 -0
  698. data/public/javascripts/ckeditor/plugins/scayt/lang/da.js +34 -0
  699. data/public/javascripts/ckeditor/plugins/scayt/lang/de.js +34 -0
  700. data/public/javascripts/ckeditor/plugins/scayt/lang/el.js +34 -0
  701. data/public/javascripts/ckeditor/plugins/scayt/lang/en-au.js +34 -0
  702. data/public/javascripts/ckeditor/plugins/scayt/lang/en-ca.js +34 -0
  703. data/public/javascripts/ckeditor/plugins/scayt/lang/en-gb.js +34 -0
  704. data/public/javascripts/ckeditor/plugins/scayt/lang/en.js +34 -0
  705. data/public/javascripts/ckeditor/plugins/scayt/lang/eo.js +34 -0
  706. data/public/javascripts/ckeditor/plugins/scayt/lang/es.js +34 -0
  707. data/public/javascripts/ckeditor/plugins/scayt/lang/et.js +34 -0
  708. data/public/javascripts/ckeditor/plugins/scayt/lang/eu.js +34 -0
  709. data/public/javascripts/ckeditor/plugins/scayt/lang/fa.js +34 -0
  710. data/public/javascripts/ckeditor/plugins/scayt/lang/fi.js +34 -0
  711. data/public/javascripts/ckeditor/plugins/scayt/lang/fo.js +34 -0
  712. data/public/javascripts/ckeditor/plugins/scayt/lang/fr-ca.js +34 -0
  713. data/public/javascripts/ckeditor/plugins/scayt/lang/fr.js +34 -0
  714. data/public/javascripts/ckeditor/plugins/scayt/lang/gl.js +34 -0
  715. data/public/javascripts/ckeditor/plugins/scayt/lang/gu.js +34 -0
  716. data/public/javascripts/ckeditor/plugins/scayt/lang/he.js +34 -0
  717. data/public/javascripts/ckeditor/plugins/scayt/lang/hi.js +34 -0
  718. data/public/javascripts/ckeditor/plugins/scayt/lang/hr.js +34 -0
  719. data/public/javascripts/ckeditor/plugins/scayt/lang/hu.js +34 -0
  720. data/public/javascripts/ckeditor/plugins/scayt/lang/is.js +34 -0
  721. data/public/javascripts/ckeditor/plugins/scayt/lang/it.js +34 -0
  722. data/public/javascripts/ckeditor/plugins/scayt/lang/ja.js +34 -0
  723. data/public/javascripts/ckeditor/plugins/scayt/lang/ka.js +34 -0
  724. data/public/javascripts/ckeditor/plugins/scayt/lang/km.js +34 -0
  725. data/public/javascripts/ckeditor/plugins/scayt/lang/ko.js +34 -0
  726. data/public/javascripts/ckeditor/plugins/scayt/lang/ku.js +34 -0
  727. data/public/javascripts/ckeditor/plugins/scayt/lang/lt.js +34 -0
  728. data/public/javascripts/ckeditor/plugins/scayt/lang/lv.js +34 -0
  729. data/public/javascripts/ckeditor/plugins/scayt/lang/mk.js +34 -0
  730. data/public/javascripts/ckeditor/plugins/scayt/lang/mn.js +34 -0
  731. data/public/javascripts/ckeditor/plugins/scayt/lang/ms.js +34 -0
  732. data/public/javascripts/ckeditor/plugins/scayt/lang/nb.js +34 -0
  733. data/public/javascripts/ckeditor/plugins/scayt/lang/nl.js +34 -0
  734. data/public/javascripts/ckeditor/plugins/scayt/lang/no.js +34 -0
  735. data/public/javascripts/ckeditor/plugins/scayt/lang/pl.js +34 -0
  736. data/public/javascripts/ckeditor/plugins/scayt/lang/pt-br.js +34 -0
  737. data/public/javascripts/ckeditor/plugins/scayt/lang/pt.js +34 -0
  738. data/public/javascripts/ckeditor/plugins/scayt/lang/ro.js +34 -0
  739. data/public/javascripts/ckeditor/plugins/scayt/lang/ru.js +34 -0
  740. data/public/javascripts/ckeditor/plugins/scayt/lang/sk.js +34 -0
  741. data/public/javascripts/ckeditor/plugins/scayt/lang/sl.js +34 -0
  742. data/public/javascripts/ckeditor/plugins/scayt/lang/sr-latn.js +34 -0
  743. data/public/javascripts/ckeditor/plugins/scayt/lang/sr.js +34 -0
  744. data/public/javascripts/ckeditor/plugins/scayt/lang/sv.js +34 -0
  745. data/public/javascripts/ckeditor/plugins/scayt/lang/th.js +34 -0
  746. data/public/javascripts/ckeditor/plugins/scayt/lang/tr.js +34 -0
  747. data/public/javascripts/ckeditor/plugins/scayt/lang/ug.js +34 -0
  748. data/public/javascripts/ckeditor/plugins/scayt/lang/uk.js +34 -0
  749. data/public/javascripts/ckeditor/plugins/scayt/lang/vi.js +34 -0
  750. data/public/javascripts/ckeditor/plugins/scayt/lang/zh-cn.js +34 -0
  751. data/public/javascripts/ckeditor/plugins/scayt/lang/zh.js +34 -0
  752. data/public/javascripts/ckeditor/plugins/scayt/plugin.js +894 -0
  753. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_address.png +0 -0
  754. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_blockquote.png +0 -0
  755. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_div.png +0 -0
  756. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h1.png +0 -0
  757. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h2.png +0 -0
  758. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h3.png +0 -0
  759. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h4.png +0 -0
  760. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h5.png +0 -0
  761. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_h6.png +0 -0
  762. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_p.png +0 -0
  763. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/showblocks/images/block_pre.png +0 -0
  764. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/dialogs/smiley.js +0 -0
  765. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/angel_smile.gif +0 -0
  766. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/angry_smile.gif +0 -0
  767. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/broken_heart.gif +0 -0
  768. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/confused_smile.gif +0 -0
  769. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/cry_smile.gif +0 -0
  770. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/devil_smile.gif +0 -0
  771. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/embaressed_smile.gif +0 -0
  772. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/embarrassed_smile.gif +0 -0
  773. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/envelope.gif +0 -0
  774. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/heart.gif +0 -0
  775. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/kiss.gif +0 -0
  776. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/lightbulb.gif +0 -0
  777. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/omg_smile.gif +0 -0
  778. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/regular_smile.gif +0 -0
  779. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/sad_smile.gif +0 -0
  780. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/shades_smile.gif +0 -0
  781. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/teeth_smile.gif +0 -0
  782. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/thumbs_down.gif +0 -0
  783. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/thumbs_up.gif +0 -0
  784. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/tongue_smile.gif +0 -0
  785. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/tounge_smile.gif +0 -0
  786. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  787. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/smiley/images/wink_smile.gif +0 -0
  788. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -0
  789. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ar.js +0 -0
  790. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/bg.js +0 -0
  791. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ca.js +0 -0
  792. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/cs.js +0 -0
  793. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/cy.js +0 -0
  794. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/de.js +0 -0
  795. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/el.js +0 -0
  796. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/en.js +0 -0
  797. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/eo.js +0 -0
  798. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/es.js +0 -0
  799. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/et.js +0 -0
  800. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/fa.js +0 -0
  801. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/fi.js +0 -0
  802. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/fr-ca.js +0 -0
  803. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/fr.js +0 -0
  804. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/gl.js +0 -0
  805. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/he.js +0 -0
  806. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/hr.js +0 -0
  807. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/hu.js +0 -0
  808. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/id.js +0 -0
  809. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/it.js +0 -0
  810. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ja.js +0 -0
  811. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ku.js +0 -0
  812. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/lv.js +0 -0
  813. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/nb.js +0 -0
  814. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/nl.js +0 -0
  815. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/no.js +0 -0
  816. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/pl.js +0 -0
  817. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/pt-br.js +0 -0
  818. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/pt.js +0 -0
  819. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ru.js +0 -0
  820. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/si.js +0 -0
  821. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/sk.js +0 -0
  822. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/sl.js +0 -0
  823. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/sq.js +0 -0
  824. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/sv.js +0 -0
  825. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/th.js +0 -0
  826. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/tr.js +0 -0
  827. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/ug.js +0 -0
  828. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/uk.js +0 -0
  829. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/vi.js +0 -0
  830. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/lang/zh-cn.js +0 -0
  831. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/specialchar/dialogs/specialchar.js +0 -0
  832. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/dialogs/syntaxhighlight.js +0 -0
  833. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/icons/syntaxhighlight.png +0 -0
  834. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/lang/de.js +0 -0
  835. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/lang/en.js +0 -0
  836. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/lang/fr.js +0 -0
  837. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/lang/zh-cn.js +0 -0
  838. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/syntaxhighlight/plugin.js +0 -0
  839. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/table/dialogs/table.js +0 -0
  840. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/tabletools/dialogs/tableCell.js +0 -0
  841. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/dialogs/templates.css +0 -0
  842. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/dialogs/templates.js +0 -0
  843. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/templates/default.js +0 -0
  844. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/templates/images/template1.gif +0 -0
  845. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/templates/images/template2.gif +0 -0
  846. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/templates/templates/images/template3.gif +0 -0
  847. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/LICENSE.md +0 -0
  848. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/README.md +0 -0
  849. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/ciframe.html +0 -0
  850. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/tmp.html +0 -0
  851. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  852. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/wsc.css +0 -0
  853. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/wsc.js +0 -0
  854. data/public/javascripts/{erp_app/ckeditor → ckeditor}/plugins/wsc/dialogs/wsc_ie.js +0 -0
  855. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog.css +0 -0
  856. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog_ie.css +0 -0
  857. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog_ie7.css +0 -0
  858. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog_ie8.css +0 -0
  859. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog_iequirks.css +0 -0
  860. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/dialog_opera.css +0 -0
  861. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor.css +0 -0
  862. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor_gecko.css +0 -0
  863. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor_ie.css +0 -0
  864. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor_ie7.css +0 -0
  865. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor_ie8.css +0 -0
  866. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/editor_iequirks.css +0 -0
  867. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/icons.png +0 -0
  868. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/icons_hidpi.png +0 -0
  869. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/arrow.png +0 -0
  870. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/close.png +0 -0
  871. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/hidpi/close.png +0 -0
  872. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/hidpi/lock-open.png +0 -0
  873. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/hidpi/lock.png +0 -0
  874. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/hidpi/refresh.png +0 -0
  875. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/lock-open.png +0 -0
  876. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/lock.png +0 -0
  877. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/images/refresh.png +0 -0
  878. data/public/javascripts/{erp_app/ckeditor → ckeditor}/skins/moono/readme.md +0 -0
  879. data/public/javascripts/{erp_app/ckeditor → ckeditor}/styles.js +0 -0
  880. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/close.png +0 -0
  881. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/closeX.png +0 -0
  882. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar-black-border.gif +0 -0
  883. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar-text-buttons.png +0 -0
  884. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar-white-small.gif +0 -0
  885. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar-white.gif +0 -0
  886. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar2.gif +0 -0
  887. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar3.gif +0 -0
  888. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar4-hover.gif +0 -0
  889. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/controlbar4.gif +0 -0
  890. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/fullexpand.gif +0 -0
  891. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/geckodimmer.png +0 -0
  892. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/icon.gif +0 -0
  893. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/loader.gif +0 -0
  894. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/loader.white.gif +0 -0
  895. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/Outlines.psd +0 -0
  896. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/beveled.png +0 -0
  897. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/drop-shadow.png +0 -0
  898. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/glossy-dark.png +0 -0
  899. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/outer-glow.png +0 -0
  900. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/rounded-black.png +0 -0
  901. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/outlines/rounded-white.png +0 -0
  902. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/resize.gif +0 -0
  903. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/scrollarrows.png +0 -0
  904. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/zoomin.cur +0 -0
  905. data/public/javascripts/{erp_app/highslide/highslide → highslide}/graphics/zoomout.cur +0 -0
  906. data/public/javascripts/highslide/highslide-full.js +3320 -0
  907. data/public/javascripts/highslide/highslide-full.min.js +9 -0
  908. data/public/javascripts/highslide/highslide-full.packed.js +9 -0
  909. data/public/javascripts/{erp_app/highslide/highslide → highslide}/highslide-ie6.css +0 -0
  910. data/public/javascripts/highslide/highslide-with-gallery.js +2657 -0
  911. data/public/javascripts/highslide/highslide-with-gallery.min.js +9 -0
  912. data/public/javascripts/highslide/highslide-with-gallery.packed.js +9 -0
  913. data/public/javascripts/highslide/highslide-with-html.js +2481 -0
  914. data/public/javascripts/highslide/highslide-with-html.min.js +9 -0
  915. data/public/javascripts/highslide/highslide-with-html.packed.js +9 -0
  916. data/public/javascripts/highslide/highslide.cfg.js +27 -0
  917. data/public/javascripts/highslide/highslide.css +889 -0
  918. data/public/javascripts/highslide/highslide.js +1891 -0
  919. data/public/javascripts/highslide/highslide.min.js +9 -0
  920. data/public/javascripts/highslide/highslide.packed.js +9 -0
  921. data/spec/models/organizer_application_spec.rb +3 -3
  922. metadata +914 -980
  923. data/app/assets/stylesheets/erp_app/application.css +0 -7
  924. data/app/controllers/erp_app/desktop/scaffold/base_controller.rb +0 -90
  925. data/app/controllers/erp_app/desktop/security_management/base_controller.rb +0 -47
  926. data/app/controllers/erp_app/desktop/security_management/capabilities_controller.rb +0 -125
  927. data/app/controllers/erp_app/desktop/security_management/groups_controller.rb +0 -198
  928. data/app/controllers/erp_app/desktop/security_management/roles_controller.rb +0 -183
  929. data/app/controllers/erp_app/desktop/security_management/users_controller.rb +0 -140
  930. data/app/controllers/erp_app/mobile/base_controller.rb +0 -21
  931. data/app/controllers/erp_app/mobile/login_controller.rb +0 -11
  932. data/app/controllers/erp_app/mobile/user_management/base_controller.rb +0 -20
  933. data/app/models/app_container.rb +0 -31
  934. data/app/models/desktop.rb +0 -72
  935. data/app/models/mobile.rb +0 -9
  936. data/app/models/mobile_application.rb +0 -6
  937. data/app/models/organizer.rb +0 -11
  938. data/app/models/organizer_application.rb +0 -2
  939. data/app/observers/user_app_container_observer.rb +0 -20
  940. data/app/views/erp_app/mobile/base/index.erb +0 -44
  941. data/app/views/erp_app/mobile/login/index.erb +0 -21
  942. data/config/initializers/erp_app.rb +0 -5
  943. data/db/data_migrations/20110728201733_update_preferences.rb +0 -52
  944. data/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.rb +0 -23
  945. data/db/data_migrations/20110817160743_add_file_manager_application.rb +0 -31
  946. data/db/data_migrations/20111108183739_add_default_capabilities.rb +0 -22
  947. data/db/data_migrations/20111108183740_add_new_contact_widgets.rb +0 -41
  948. data/db/data_migrations/20120229160222_add_userinfo_widget.rb +0 -28
  949. data/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.rb +0 -10
  950. data/db/data_migrations/20120411180756_create_user_management_mobile_application.rb +0 -16
  951. data/db/data_migrations/20120418164215_create_configuration_management_desktop_application.rb +0 -26
  952. data/db/data_migrations/20121018143910_create_job_tracker_desktop_application.rb +0 -22
  953. data/db/data_migrations/20121018172347_created_tracked_jobs.rb +0 -14
  954. data/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.rb +0 -15
  955. data/db/data_migrations/20121218175028_create_security_management_desktop_application.rb +0 -28
  956. data/db/data_migrations/20130411200351_add_job_tracker_mobile_app.rb +0 -16
  957. data/db/data_migrations/20130703181549_create_tail_desktop_application.rb +0 -19
  958. data/db/data_migrations/20131102171801_add_customer_role_type.rb +0 -11
  959. data/db/data_migrations/20131108191057_add_customer_employee_reln.rb +0 -26
  960. data/db/data_migrations/20140122205941_remove_theme_preference.rb +0 -21
  961. data/db/migrate/20120920145259_add_job_tracker.rb +0 -19
  962. data/db/migrate/20130410182333_update_mobile_application.rb +0 -27
  963. data/db/migrate/20131112013049_add_erp_app_missing_indexes.rb +0 -31
  964. data/db/migrate/20131129205550_add_precedence_to_configuration_item_types.rb +0 -7
  965. data/lib/active_ext/active_ext.rb +0 -587
  966. data/lib/active_ext/core.rb +0 -105
  967. data/lib/active_ext/data_structures/column.rb +0 -21
  968. data/lib/active_ext/data_structures/columns.rb +0 -69
  969. data/lib/active_ext/data_structures/data_structures.rb +0 -2
  970. data/lib/active_ext/ext_helpers/column_builder.rb +0 -136
  971. data/lib/active_ext/ext_helpers/data_helper.rb +0 -67
  972. data/lib/active_ext/ext_helpers/ext_helpers.rb +0 -5
  973. data/lib/active_ext/ext_helpers/field_builder.rb +0 -146
  974. data/lib/active_ext/ext_helpers/form_builder.rb +0 -49
  975. data/lib/active_ext/ext_helpers/table_builder.rb +0 -77
  976. data/lib/erp_app/application_resource_loader.rb +0 -4
  977. data/lib/erp_app/application_resource_loader/base_loader.rb +0 -17
  978. data/lib/erp_app/application_resource_loader/desktop_organizer_loader.rb +0 -71
  979. data/lib/erp_app/application_resource_loader/mobile_loader.rb +0 -46
  980. data/lib/erp_app/application_resource_loader/shared_loader.rb +0 -26
  981. data/lib/erp_app/extensions/railties/action_view/helpers/active_ext_helper.rb +0 -17
  982. data/lib/erp_app/extensions/railties/action_view/helpers/tag_helper.rb +0 -38
  983. data/lib/generators/active_ext/USAGE +0 -16
  984. data/lib/generators/active_ext/active_ext_generator.rb +0 -43
  985. data/lib/generators/active_ext/templates/INSTALL +0 -11
  986. data/lib/generators/active_ext/templates/controllers/controller_template.erb +0 -23
  987. data/lib/generators/active_ext/templates/public/module.js.erb +0 -16
  988. data/lib/generators/active_ext/templates/views/create.html.erb +0 -19
  989. data/lib/generators/active_ext/templates/views/edit.html.erb +0 -65
  990. data/lib/generators/active_ext/templates/views/new.html.erb +0 -41
  991. data/lib/generators/active_ext/templates/views/show.html.erb +0 -58
  992. data/lib/generators/active_ext/templates/views/update.html.erb +0 -1
  993. data/lib/generators/compass_ae_mobile/USAGE +0 -9
  994. data/lib/generators/compass_ae_mobile/compass_ae_mobile_generator.rb +0 -38
  995. data/lib/generators/compass_ae_mobile/templates/controllers/controller_template.erb +0 -4
  996. data/lib/generators/compass_ae_mobile/templates/javascripts/main_template.erb +0 -29
  997. data/lib/generators/compass_ae_mobile/templates/views/view_template.erb +0 -25
  998. data/lib/generators/desktop_application/USAGE +0 -24
  999. data/lib/generators/desktop_application/desktop_application_generator.rb +0 -25
  1000. data/lib/generators/desktop_application/templates/INSTALL +0 -25
  1001. data/lib/generators/mobile_application/USAGE +0 -24
  1002. data/lib/generators/mobile_application/mobile_application_generator.rb +0 -25
  1003. data/lib/generators/mobile_application/templates/controllers/controller_template.erb +0 -13
  1004. data/lib/generators/mobile_application/templates/migrate/migration_template.erb +0 -14
  1005. data/lib/generators/mobile_application/templates/public/app.js.erb +0 -24
  1006. data/lib/generators/organizer_application/USAGE +0 -27
  1007. data/lib/generators/organizer_application/organizer_application_generator.rb +0 -25
  1008. data/lib/generators/organizer_application/templates/INSTALL +0 -28
  1009. data/lib/generators/organizer_application/templates/controllers/controller_template.erb +0 -12
  1010. data/lib/generators/organizer_application/templates/migrate/migration_template.erb +0 -14
  1011. data/lib/generators/organizer_application/templates/public/base.js.erb +0 -28
  1012. data/public/images/art/compass-ae-logo-reverse-1.png +0 -0
  1013. data/public/images/erp_app/desktop/applications/security_management/manage_capabilities.png +0 -0
  1014. data/public/images/erp_app/desktop/applications/security_management/manage_groups.png +0 -0
  1015. data/public/images/erp_app/desktop/applications/security_management/manage_roles.png +0 -0
  1016. data/public/images/erp_app/desktop/applications/security_management/manage_users.png +0 -0
  1017. data/public/images/icons/fieldtypes/business_party.png +0 -0
  1018. data/public/images/icons/fieldtypes/check.png +0 -0
  1019. data/public/images/icons/fieldtypes/date.png +0 -0
  1020. data/public/images/icons/fieldtypes/display.png +0 -0
  1021. data/public/images/icons/fieldtypes/email.png +0 -0
  1022. data/public/images/icons/fieldtypes/file.png +0 -0
  1023. data/public/images/icons/fieldtypes/file_assets.png +0 -0
  1024. data/public/images/icons/fieldtypes/image.png +0 -0
  1025. data/public/images/icons/fieldtypes/money.png +0 -0
  1026. data/public/images/icons/fieldtypes/number.png +0 -0
  1027. data/public/images/icons/fieldtypes/password.png +0 -0
  1028. data/public/images/icons/fieldtypes/question.png +0 -0
  1029. data/public/images/icons/fieldtypes/radio.png +0 -0
  1030. data/public/images/icons/fieldtypes/select.png +0 -0
  1031. data/public/images/icons/fieldtypes/text.png +0 -0
  1032. data/public/images/icons/fieldtypes/text.psd +0 -0
  1033. data/public/images/icons/fieldtypes/text_area.png +0 -0
  1034. data/public/images/icons/fieldtypes/time.png +0 -0
  1035. data/public/images/icons/fieldtypes/yes_no.png +0 -0
  1036. data/public/images/icons/login/login_48x48.png +0 -0
  1037. data/public/images/icons/mail/mail_48x48.png +0 -0
  1038. data/public/images/icons/manage-profile/manage-profile_48x48.png +0 -0
  1039. data/public/images/icons/map/map_48x48.png +0 -0
  1040. data/public/images/icons/package/package_48x48.png +0 -0
  1041. data/public/images/icons/product/product_48x48.png +0 -0
  1042. data/public/images/icons/recycle/recycle_16x16.png +0 -0
  1043. data/public/images/icons/reset-password/reset-password_48x48.png +0 -0
  1044. data/public/images/icons/search/search_48x48.png +0 -0
  1045. data/public/images/icons/shopping_cart/shopping_cart_48x48.png +0 -0
  1046. data/public/images/icons/sign_up/sign_up_48x48.png +0 -0
  1047. data/public/images/icons/signup/signup_48x48.png +0 -0
  1048. data/public/javascripts/erp_app/authentication/compass_user.js +0 -94
  1049. data/public/javascripts/erp_app/ckeditor/config.js +0 -12
  1050. data/public/javascripts/erp_app/ckeditor/plugins/compasssave/plugin.js +0 -22
  1051. data/public/javascripts/erp_app/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  1052. data/public/javascripts/erp_app/ckeditor/plugins/inlineeditsave/plugin.js +0 -42
  1053. data/public/javascripts/erp_app/ckeditor/plugins/knitkitthemes/plugin.js +0 -116
  1054. data/public/javascripts/erp_app/ckeditor/plugins/scayt/README.md +0 -25
  1055. data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/options.js +0 -20
  1056. data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  1057. data/public/javascripts/erp_app/ckeditor_example_config_override.js +0 -45
  1058. data/public/javascripts/erp_app/codemirror/lib/codemirror.css +0 -272
  1059. data/public/javascripts/erp_app/codemirror/lib/codemirror.js +0 -55
  1060. data/public/javascripts/erp_app/codemirror/theme/3024-day.css +0 -34
  1061. data/public/javascripts/erp_app/codemirror/theme/3024-night.css +0 -34
  1062. data/public/javascripts/erp_app/codemirror/theme/ambiance-mobile.css +0 -5
  1063. data/public/javascripts/erp_app/codemirror/theme/ambiance.css +0 -74
  1064. data/public/javascripts/erp_app/codemirror/theme/base16-dark.css +0 -34
  1065. data/public/javascripts/erp_app/codemirror/theme/base16-light.css +0 -34
  1066. data/public/javascripts/erp_app/codemirror/theme/blackboard.css +0 -28
  1067. data/public/javascripts/erp_app/codemirror/theme/cobalt.css +0 -21
  1068. data/public/javascripts/erp_app/codemirror/theme/eclipse.css +0 -23
  1069. data/public/javascripts/erp_app/codemirror/theme/elegant.css +0 -13
  1070. data/public/javascripts/erp_app/codemirror/theme/erlang-dark.css +0 -30
  1071. data/public/javascripts/erp_app/codemirror/theme/lesser-dark.css +0 -43
  1072. data/public/javascripts/erp_app/codemirror/theme/mbo.css +0 -37
  1073. data/public/javascripts/erp_app/codemirror/theme/mdn-like.css +0 -44
  1074. data/public/javascripts/erp_app/codemirror/theme/midnight.css +0 -43
  1075. data/public/javascripts/erp_app/codemirror/theme/monokai.css +0 -29
  1076. data/public/javascripts/erp_app/codemirror/theme/neat.css +0 -12
  1077. data/public/javascripts/erp_app/codemirror/theme/neo.css +0 -40
  1078. data/public/javascripts/erp_app/codemirror/theme/night.css +0 -24
  1079. data/public/javascripts/erp_app/codemirror/theme/paraiso-dark.css +0 -34
  1080. data/public/javascripts/erp_app/codemirror/theme/paraiso-light.css +0 -34
  1081. data/public/javascripts/erp_app/codemirror/theme/pastel-on-dark.css +0 -48
  1082. data/public/javascripts/erp_app/codemirror/theme/rubyblue.css +0 -21
  1083. data/public/javascripts/erp_app/codemirror/theme/solarized.css +0 -167
  1084. data/public/javascripts/erp_app/codemirror/theme/the-matrix.css +0 -26
  1085. data/public/javascripts/erp_app/codemirror/theme/tomorrow-night-eighties.css +0 -34
  1086. data/public/javascripts/erp_app/codemirror/theme/twilight.css +0 -28
  1087. data/public/javascripts/erp_app/codemirror/theme/vibrant-ink.css +0 -30
  1088. data/public/javascripts/erp_app/codemirror/theme/xq-dark.css +0 -49
  1089. data/public/javascripts/erp_app/codemirror/theme/xq-light.css +0 -43
  1090. data/public/javascripts/erp_app/codemirror_highlight.js +0 -17
  1091. data/public/javascripts/erp_app/desktop/applications/audit_log_viewer/module.js +0 -38
  1092. data/public/javascripts/erp_app/desktop/applications/configuration_management/module.js +0 -95
  1093. data/public/javascripts/erp_app/desktop/applications/control_panel/module.js +0 -73
  1094. data/public/javascripts/erp_app/desktop/applications/file_manager/module.js +0 -120
  1095. data/public/javascripts/erp_app/desktop/applications/job_tracker/module.js +0 -44
  1096. data/public/javascripts/erp_app/desktop/applications/scaffold/models_tree_panel.js +0 -86
  1097. data/public/javascripts/erp_app/desktop/applications/scaffold/module.js +0 -62
  1098. data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_panel.js +0 -62
  1099. data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_widget.js +0 -241
  1100. data/public/javascripts/erp_app/desktop/applications/security_management/groups_effective_security.js +0 -94
  1101. data/public/javascripts/erp_app/desktop/applications/security_management/groups_panel.js +0 -298
  1102. data/public/javascripts/erp_app/desktop/applications/security_management/groups_widget.js +0 -241
  1103. data/public/javascripts/erp_app/desktop/applications/security_management/module.js +0 -173
  1104. data/public/javascripts/erp_app/desktop/applications/security_management/north_panel.js +0 -31
  1105. data/public/javascripts/erp_app/desktop/applications/security_management/roles_panel.js +0 -309
  1106. data/public/javascripts/erp_app/desktop/applications/security_management/roles_widget.js +0 -241
  1107. data/public/javascripts/erp_app/desktop/applications/security_management/south_panel.js +0 -126
  1108. data/public/javascripts/erp_app/desktop/applications/security_management/users_effective_security.js +0 -128
  1109. data/public/javascripts/erp_app/desktop/applications/security_management/users_panel.js +0 -59
  1110. data/public/javascripts/erp_app/desktop/applications/security_management/users_widget.js +0 -245
  1111. data/public/javascripts/erp_app/desktop/applications/user_management/module.js +0 -469
  1112. data/public/javascripts/erp_app/desktop/applications/user_management/personal_info_panel.js +0 -117
  1113. data/public/javascripts/erp_app/desktop/applications/user_management/role_management_panel.js +0 -208
  1114. data/public/javascripts/erp_app/desktop/applications/user_management/user_application_mgt_panel.js +0 -206
  1115. data/public/javascripts/erp_app/desktop/ext_ux_desktop_module.js +0 -1014
  1116. data/public/javascripts/erp_app/ecommerce/credit_card_window.js +0 -329
  1117. data/public/javascripts/erp_app/highslide/examples/ajax.html +0 -51
  1118. data/public/javascripts/erp_app/highslide/examples/flash.html +0 -61
  1119. data/public/javascripts/erp_app/highslide/examples/gallery-controls-in-heading.html +0 -89
  1120. data/public/javascripts/erp_app/highslide/examples/gallery-dark.html +0 -93
  1121. data/public/javascripts/erp_app/highslide/examples/gallery-floating-caption.html +0 -91
  1122. data/public/javascripts/erp_app/highslide/examples/gallery-floating-thumbs.html +0 -144
  1123. data/public/javascripts/erp_app/highslide/examples/gallery-horizontal-strip.html +0 -147
  1124. data/public/javascripts/erp_app/highslide/examples/gallery-in-box.html +0 -95
  1125. data/public/javascripts/erp_app/highslide/examples/gallery-in-page.html +0 -221
  1126. data/public/javascripts/erp_app/highslide/examples/gallery-thumbstrip-above.html +0 -142
  1127. data/public/javascripts/erp_app/highslide/examples/gallery-vertical-strip.html +0 -178
  1128. data/public/javascripts/erp_app/highslide/examples/gallery-white.html +0 -90
  1129. data/public/javascripts/erp_app/highslide/examples/headline.html +0 -49
  1130. data/public/javascripts/erp_app/highslide/examples/html.html +0 -67
  1131. data/public/javascripts/erp_app/highslide/examples/iframe.html +0 -44
  1132. data/public/javascripts/erp_app/highslide/examples/image-map.html +0 -49
  1133. data/public/javascripts/erp_app/highslide/examples/includes/Flash.swf +0 -0
  1134. data/public/javascripts/erp_app/highslide/examples/includes/ajax.htm +0 -45
  1135. data/public/javascripts/erp_app/highslide/examples/includes/include-short.htm +0 -40
  1136. data/public/javascripts/erp_app/highslide/examples/inline.html +0 -50
  1137. data/public/javascripts/erp_app/highslide/examples/mini-galleries.html +0 -135
  1138. data/public/javascripts/erp_app/highslide/examples/mini-gallery.html +0 -89
  1139. data/public/javascripts/erp_app/highslide/examples/no-border.html +0 -62
  1140. data/public/javascripts/erp_app/highslide/examples/no-outline.html +0 -52
  1141. data/public/javascripts/erp_app/highslide/examples/outer-glow.html +0 -53
  1142. data/public/javascripts/erp_app/highslide/examples/white-10px.html +0 -51
  1143. data/public/javascripts/erp_app/highslide/examples/white-rounded-outline.html +0 -51
  1144. data/public/javascripts/erp_app/highslide/examples/youtube.html +0 -62
  1145. data/public/javascripts/erp_app/highslide/highslide/highslide-full.js +0 -3302
  1146. data/public/javascripts/erp_app/highslide/highslide/highslide-full.min.js +0 -9
  1147. data/public/javascripts/erp_app/highslide/highslide/highslide-full.packed.js +0 -9
  1148. data/public/javascripts/erp_app/highslide/highslide/highslide-with-gallery.js +0 -2639
  1149. data/public/javascripts/erp_app/highslide/highslide/highslide-with-gallery.min.js +0 -9
  1150. data/public/javascripts/erp_app/highslide/highslide/highslide-with-gallery.packed.js +0 -9
  1151. data/public/javascripts/erp_app/highslide/highslide/highslide-with-html.js +0 -2476
  1152. data/public/javascripts/erp_app/highslide/highslide/highslide-with-html.min.js +0 -9
  1153. data/public/javascripts/erp_app/highslide/highslide/highslide-with-html.packed.js +0 -9
  1154. data/public/javascripts/erp_app/highslide/highslide/highslide.css +0 -886
  1155. data/public/javascripts/erp_app/highslide/highslide/highslide.js +0 -1886
  1156. data/public/javascripts/erp_app/highslide/highslide/highslide.min.js +0 -9
  1157. data/public/javascripts/erp_app/highslide/highslide/highslide.packed.js +0 -9
  1158. data/public/javascripts/erp_app/highslide/images/full-image.jpg +0 -0
  1159. data/public/javascripts/erp_app/highslide/images/full6.jpg +0 -0
  1160. data/public/javascripts/erp_app/highslide/images/gallery1.jpg +0 -0
  1161. data/public/javascripts/erp_app/highslide/images/gallery1.thumb.jpg +0 -0
  1162. data/public/javascripts/erp_app/highslide/images/gallery2.jpg +0 -0
  1163. data/public/javascripts/erp_app/highslide/images/gallery2.thumb.jpg +0 -0
  1164. data/public/javascripts/erp_app/highslide/images/gallery3.jpg +0 -0
  1165. data/public/javascripts/erp_app/highslide/images/gallery3.thumb.jpg +0 -0
  1166. data/public/javascripts/erp_app/highslide/images/nordic.gif +0 -0
  1167. data/public/javascripts/erp_app/highslide/images/thumb6.jpg +0 -0
  1168. data/public/javascripts/erp_app/highslide/images/thumbnail.jpg +0 -0
  1169. data/public/javascripts/erp_app/highslide/images/thumbstrip01.jpg +0 -0
  1170. data/public/javascripts/erp_app/highslide/images/thumbstrip01.thumb.png +0 -0
  1171. data/public/javascripts/erp_app/highslide/images/thumbstrip02.jpg +0 -0
  1172. data/public/javascripts/erp_app/highslide/images/thumbstrip02.thumb.png +0 -0
  1173. data/public/javascripts/erp_app/highslide/images/thumbstrip03.jpg +0 -0
  1174. data/public/javascripts/erp_app/highslide/images/thumbstrip03.thumb.png +0 -0
  1175. data/public/javascripts/erp_app/highslide/images/thumbstrip04.jpg +0 -0
  1176. data/public/javascripts/erp_app/highslide/images/thumbstrip04.thumb.png +0 -0
  1177. data/public/javascripts/erp_app/highslide/images/thumbstrip05.jpg +0 -0
  1178. data/public/javascripts/erp_app/highslide/images/thumbstrip05.thumb.png +0 -0
  1179. data/public/javascripts/erp_app/highslide/images/thumbstrip06.jpg +0 -0
  1180. data/public/javascripts/erp_app/highslide/images/thumbstrip06.thumb.png +0 -0
  1181. data/public/javascripts/erp_app/highslide/images/thumbstrip07.jpg +0 -0
  1182. data/public/javascripts/erp_app/highslide/images/thumbstrip07.thumb.png +0 -0
  1183. data/public/javascripts/erp_app/highslide/images/thumbstrip08.jpg +0 -0
  1184. data/public/javascripts/erp_app/highslide/images/thumbstrip08.thumb.png +0 -0
  1185. data/public/javascripts/erp_app/highslide/images/thumbstrip09.jpg +0 -0
  1186. data/public/javascripts/erp_app/highslide/images/thumbstrip09.thumb.png +0 -0
  1187. data/public/javascripts/erp_app/highslide/images/thumbstrip10.jpg +0 -0
  1188. data/public/javascripts/erp_app/highslide/images/thumbstrip10.thumb.png +0 -0
  1189. data/public/javascripts/erp_app/highslide/images/thumbstrip11.jpg +0 -0
  1190. data/public/javascripts/erp_app/highslide/images/thumbstrip11.thumb.png +0 -0
  1191. data/public/javascripts/erp_app/highslide/images/thumbstrip12.jpg +0 -0
  1192. data/public/javascripts/erp_app/highslide/images/thumbstrip12.thumb.png +0 -0
  1193. data/public/javascripts/erp_app/highslide/images/thumbstrip13.jpg +0 -0
  1194. data/public/javascripts/erp_app/highslide/images/thumbstrip13.thumb.png +0 -0
  1195. data/public/javascripts/erp_app/highslide/images/thumbstrip14.jpg +0 -0
  1196. data/public/javascripts/erp_app/highslide/images/thumbstrip14.thumb.png +0 -0
  1197. data/public/javascripts/erp_app/highslide/images/thumbstrip15.jpg +0 -0
  1198. data/public/javascripts/erp_app/highslide/images/thumbstrip15.thumb.png +0 -0
  1199. data/public/javascripts/erp_app/highslide/images/thumbstrip16.jpg +0 -0
  1200. data/public/javascripts/erp_app/highslide/images/thumbstrip16.thumb.png +0 -0
  1201. data/public/javascripts/erp_app/highslide/images/thumbstrip17.jpg +0 -0
  1202. data/public/javascripts/erp_app/highslide/images/thumbstrip17.thumb.png +0 -0
  1203. data/public/javascripts/erp_app/highslide/images/thumbstrip18.jpg +0 -0
  1204. data/public/javascripts/erp_app/highslide/images/thumbstrip18.thumb.png +0 -0
  1205. data/public/javascripts/erp_app/highslide/images/thumbstrip19.jpg +0 -0
  1206. data/public/javascripts/erp_app/highslide/images/thumbstrip19.thumb.png +0 -0
  1207. data/public/javascripts/erp_app/highslide/images/thumbstrip20.jpg +0 -0
  1208. data/public/javascripts/erp_app/highslide/images/thumbstrip20.thumb.png +0 -0
  1209. data/public/javascripts/erp_app/highslide/images/thumbstrip21.jpg +0 -0
  1210. data/public/javascripts/erp_app/highslide/images/thumbstrip21.thumb.png +0 -0
  1211. data/public/javascripts/erp_app/highslide/images/thumbstrip22.jpg +0 -0
  1212. data/public/javascripts/erp_app/highslide/images/thumbstrip22.thumb.png +0 -0
  1213. data/public/javascripts/erp_app/highslide/images/thumbstrip23.jpg +0 -0
  1214. data/public/javascripts/erp_app/highslide/images/thumbstrip23.thumb.png +0 -0
  1215. data/public/javascripts/erp_app/highslide/images/thumbstrip24.jpg +0 -0
  1216. data/public/javascripts/erp_app/highslide/images/thumbstrip24.thumb.png +0 -0
  1217. data/public/javascripts/erp_app/highslide/index.htm +0 -68
  1218. data/public/javascripts/erp_app/jquery_support.js +0 -31
  1219. data/public/javascripts/erp_app/login/mobile.js +0 -58
  1220. data/public/javascripts/erp_app/login/window.js +0 -124
  1221. data/public/javascripts/erp_app/mobile/app.js +0 -74
  1222. data/public/javascripts/erp_app/mobile/applications/job_tracker/app.js +0 -177
  1223. data/public/javascripts/erp_app/mobile/applications/job_tracker/model/job.js +0 -15
  1224. data/public/javascripts/erp_app/mobile/applications/job_tracker/store/jobs.js +0 -16
  1225. data/public/javascripts/erp_app/mobile/applications/job_tracker/view/templates.js +0 -22
  1226. data/public/javascripts/erp_app/mobile/applications/user_management/app.js +0 -112
  1227. data/public/javascripts/erp_app/mobile/applications/user_management/app/model/user.js +0 -14
  1228. data/public/javascripts/erp_app/mobile/applications/user_management/app/store/users.js +0 -19
  1229. data/public/javascripts/erp_app/mobile/applications/user_management/app/view/templates.js +0 -34
  1230. data/public/javascripts/erp_app/mobile/mobile_base.js +0 -10
  1231. data/public/javascripts/erp_app/organizer/applications/crm/base.js +0 -64
  1232. data/public/javascripts/erp_app/organizer/default_menu_tree_panel.js +0 -69
  1233. data/public/javascripts/erp_app/organizer/layout.js +0 -267
  1234. data/public/javascripts/erp_app/shared/MoneyField.js +0 -119
  1235. data/public/javascripts/erp_app/shared/active_ext/active_ext_grid.js +0 -351
  1236. data/public/javascripts/erp_app/shared/audit_log/GridPanel.js +0 -214
  1237. data/public/javascripts/erp_app/shared/audit_log/TabPanel.js +0 -103
  1238. data/public/javascripts/erp_app/shared/compass_ckeditor.js +0 -264
  1239. data/public/javascripts/erp_app/shared/compass_codemirror.js +0 -466
  1240. data/public/javascripts/erp_app/shared/configuration/configuration_panel.js +0 -128
  1241. data/public/javascripts/erp_app/shared/crm/ContactMechanismGrid.js +0 -812
  1242. data/public/javascripts/erp_app/shared/crm/PartyDetailsPanel.js +0 -344
  1243. data/public/javascripts/erp_app/shared/crm/PartyForm.js +0 -321
  1244. data/public/javascripts/erp_app/shared/crm/PartyGrid.js +0 -591
  1245. data/public/javascripts/erp_app/shared/crm/UserForm.js +0 -307
  1246. data/public/javascripts/erp_app/shared/crm/UsersGrid.js +0 -492
  1247. data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +0 -140
  1248. data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +0 -64
  1249. data/public/javascripts/erp_app/shared/dynamic_form_fields.js +0 -99
  1250. data/public/javascripts/erp_app/shared/file_manager_tree.js +0 -722
  1251. data/public/javascripts/erp_app/shared/file_upload/Ext.ux.panel.UploadPanel.js +0 -580
  1252. data/public/javascripts/erp_app/shared/file_upload/upload_window.js +0 -63
  1253. data/public/javascripts/erp_app/shared/notes_grid.js +0 -338
  1254. data/public/javascripts/erp_app/shared/profile_management_panel.js +0 -137
  1255. data/public/javascripts/erp_app/utility.js +0 -654
  1256. data/public/javascripts/erp_app/widgets.js +0 -82
  1257. data/public/stylesheets/erp_app/desktop/base.css +0 -254
  1258. data/public/stylesheets/erp_app/login/main.css +0 -4
  1259. data/public/stylesheets/erp_app/mobile/applications/user_management/main.css +0 -21
  1260. data/public/stylesheets/erp_app/mobile/mobile.css +0 -47
  1261. data/public/stylesheets/erp_app/organizer/base.css +0 -6
  1262. data/public/stylesheets/erp_app/shared/compass-ext-all.css +0 -547
  1263. data/public/stylesheets/erp_app/shared/crm.css +0 -45
  1264. data/public/stylesheets/jquery_plugins/jquery.loadmask.css +0 -40
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Name: Highslide JS
3
+ * Version: 4.1.13 (2011-10-06)
4
+ * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash
5
+ * Author: Torstein Hønsi
6
+ * Support: www.highslide.com/support
7
+ * License: www.highslide.com/#license
8
+ */
9
+ if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by <i>Highslide JS</i>",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",number:"Image %1 of %2",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a","area"],transitions:[],transitionDuration:250,dimmingOpacity:0,dimmingDuration:50,allowWidthReduction:false,allowHeightReduction:true,preserveContent:true,objectLoadTime:"before",cacheAjax:true,anchor:"auto",align:"auto",targetX:null,targetY:null,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{controls:'<div class="highslide-controls"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}"><span>{hs.lang.previousText}</span></a></li><li class="highslide-play"><a href="#" title="{hs.lang.playTitle}"><span>{hs.lang.playText}</span></a></li><li class="highslide-pause"><a href="#" title="{hs.lang.pauseTitle}"><span>{hs.lang.pauseText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}"><span>{hs.lang.moveText}</span></a></li><li class="highslide-full-expand"><a href="#" title="{hs.lang.fullExpandTitle}"><span>{hs.lang.fullExpandText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" ><span>{hs.lang.closeText}</span></a></li></ul></div>',contentWrapper:'<div class="highslide-header"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)"><span>{hs.lang.previousText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}" onclick="return false"><span>{hs.lang.moveText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)"><span>{hs.lang.closeText}</span></a></li></ul></div><div class="highslide-body"></div><div class="highslide-footer"><div><span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span></div></div>'},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","anchor","align","targetX","targetY","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","autoplay","numberPosition","transitions","dimmingOpacity","width","height","contentId","allowWidthReduction","allowHeightReduction","preserveContent","maincontentId","maincontentText","maincontentEval","objectType","cacheAjax","objectWidth","objectHeight","objectLoadTime","swfOptions","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},swfOptions:{flashvars:{},params:{},attributes:{}},timers:[],slideshows:[],pendingOutlines:{},sleeping:[],preloadTheseAjax:[],cacheBindings:[],cachedGets:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(c){if(/area/i.test(c.tagName)){var e=document.getElementsByTagName("img");for(var b=0;b<e.length;b++){var a=e[b].useMap;if(a&&a.replace(/^.*?#/,"")==c.parentNode.name){c=e[b];break}}}var d={x:c.offsetLeft,y:c.offsetTop};while(c.offsetParent){c=c.offsetParent;d.x+=c.offsetLeft;d.y+=c.offsetTop;if(c!=document.body&&c!=document.documentElement){d.x-=c.scrollLeft;d.y-=c.scrollTop}}return d},expand:function(b,h,f,d){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return h}if(d=="html"){for(var c=0;c<hs.sleeping.length;c++){if(hs.sleeping[c]&&hs.sleeping[c].a==b){hs.sleeping[c].awake();hs.sleeping[c]=null;return false}}hs.hasHtmlExpanders=true}try{new hs.Expander(b,h,f,d);return false}catch(g){return true}},htmlExpand:function(b,d,c){return hs.expand(b,d,c,"html")},getSelfRendered:function(){return hs.createElement("div",{className:"highslide-html-content",innerHTML:hs.replaceLang(hs.skin.contentWrapper)})},getElementByClass:function(e,c,d){var b=e.getElementsByTagName(c);for(var a=0;a<b.length;a++){if((new RegExp(d)).test(b[a].className)){return b[a]}}return null},replaceLang:function(c){c=c.replace(/\s/g," ");var b=/{hs\.lang\.([^}]+)\}/g,d=c.match(b),e;if(d){for(var a=0;a<d.length;a++){e=d[a].replace(b,"$1");if(typeof hs.lang[e]!="undefined"){c=c.replace(d[a],hs.lang[e])}}}return c},setClickEvents:function(){var b=document.getElementsByTagName("a");for(var a=0;a<b.length;a++){var c=hs.isUnobtrusiveAnchor(b[a]);if(c&&!b[a].hsHasSetClick){(function(){var d=c;if(hs.fireEvent(hs,"onSetClickEvent",{element:b[a],type:d})){b[a].onclick=(c=="image")?function(){return hs.expand(this)}:function(){return hs.htmlExpand(this,{objectType:d})}}})();b[a].hsHasSetClick=true}}hs.getAnchors()},isUnobtrusiveAnchor:function(a){if(a.rel=="highslide"){return"image"}else{if(a.rel=="highslide-ajax"){return"ajax"}else{if(a.rel=="highslide-iframe"){return"iframe"}else{if(a.rel=="highslide-swf"){return"swf"}}}}},getCacheBinding:function(b){for(var d=0;d<hs.cacheBindings.length;d++){if(hs.cacheBindings[d][0]==b){var e=hs.cacheBindings[d][1];hs.cacheBindings[d][1]=e.cloneNode(1);return e}}return null},preloadAjax:function(f){var b=hs.getAnchors();for(var d=0;d<b.htmls.length;d++){var c=b.htmls[d];if(hs.getParam(c,"objectType")=="ajax"&&hs.getParam(c,"cacheAjax")){hs.push(hs.preloadTheseAjax,c)}}hs.preloadAjaxElement(0)},preloadAjaxElement:function(d){if(!hs.preloadTheseAjax[d]){return}var b=hs.preloadTheseAjax[d];var c=hs.getNode(hs.getParam(b,"contentId"));if(!c){c=hs.getSelfRendered()}var e=new hs.Ajax(b,c,1);e.onError=function(){};e.onLoad=function(){hs.push(hs.cacheBindings,[b,c]);hs.preloadAjaxElement(d+1)};e.run()},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;d<a.length;d++){e=a[d];if(e){f=e.wrapper.style.zIndex;if(f&&f>c){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},dim:function(d){if(!hs.dimmer){a=true;hs.dimmer=hs.createElement("div",{className:"highslide-dimming highslide-viewport-size",owner:"",onclick:function(){if(hs.fireEvent(hs,"onDimmerClick")){hs.close()}}},{visibility:"visible",opacity:0},hs.container,true);if(/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)){var b=document.body;function c(){hs.setStyles(hs.dimmer,{width:b.scrollWidth+"px",height:b.scrollHeight+"px"})}c();hs.addEventListener(window,"resize",c)}}hs.dimmer.style.display="";var a=hs.dimmer.owner=="";hs.dimmer.owner+="|"+d.key;if(a){if(hs.geckoMac&&hs.dimmingGeckoFix){hs.setStyles(hs.dimmer,{background:"url("+hs.graphicsDir+"geckodimmer.png)",opacity:1})}else{hs.animate(hs.dimmer,{opacity:d.dimmingOpacity},hs.dimmingDuration)}}},undim:function(a){if(!hs.dimmer){return}if(typeof a!="undefined"){hs.dimmer.owner=hs.dimmer.owner.replace("|"+a,"")}if((typeof a!="undefined"&&hs.dimmer.owner!="")||(hs.upcoming&&hs.getParam(hs.upcoming,"dimmingOpacity"))){return}if(hs.geckoMac&&hs.dimmingGeckoFix){hs.dimmer.style.display="none"}else{hs.animate(hs.dimmer,{opacity:0},hs.dimmingDuration,null,function(){hs.dimmer.style.display="none"})}},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{if(!a||d.transitions[1]!="crossfade"){d.close()}}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}if(!hs.fireEvent(hs,"onKeyDown",a)){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:c=2;break;case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){if(c!=2){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)}if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{if(c==2){if(b.slideshow){b.slideshow.hitSpace()}}else{if(b.slideshow){b.slideshow.pause()}hs.previousOrNext(b.key,c)}}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},addSlideshow:function(b){var d=b.slideshowGroup;if(typeof d=="object"){for(var c=0;c<d.length;c++){var e={};for(var a in b){e[a]=b[a]}e.slideshowGroup=d[c];hs.push(hs.slideshows,e)}}else{hs.push(hs.slideshows,b)}},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.hsKey!==undefined){return e.hsKey}if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a<hs.expanders.length;a++){var f=hs.expanders[a];if(f&&f.a==e){return a}}}e=e.parentNode}}return null},getExpander:function(b,a){if(typeof b=="undefined"){return hs.expanders[hs.focusKey]||null}if(typeof b=="number"){return hs.expanders[b]||null}if(typeof b=="string"){b=hs.$(b)}return hs.expanders[hs.getWrapperKey(b,a)]||null},isHsAnchor:function(b){return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))},reOrder:function(){for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&hs.expanders[a].isExpanded){hs.focusTopmost()}}},fireEvent:function(c,a,b){return c&&c[a]?(c[a](c,b)!==false):true},mouseClickHandler:function(d){if(!d){d=window.event}if(d.button>1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}else{if(/highslide-html/.test(b.className)&&hs.focusKey!=f.key){f.focus();f.doShowHide("hidden")}}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){if(hs.fireEvent(f,"onImageClick")){f.close()}}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}if(hs.dragArgs.exp.releaseMask){hs.dragArgs.exp.releaseMask.style.display="none"}if(c){hs.fireEvent(hs.dragArgs.exp,"onDrop",hs.dragArgs)}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;if(d.iframe){if(!d.releaseMask){d.releaseMask=hs.createElement("div",null,{position:"absolute",width:d.x.size+"px",height:d.y.size+"px",left:d.x.cb+"px",top:d.y.cb+"px",zIndex:4,background:(hs.ieLt9?"white":"none"),opacity:0.01},d.wrapper,true)}if(d.releaseMask.style.display=="none"){d.releaseMask.style.display=""}}b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(!hs.fireEvent(d,"onDrag",b)){return false}if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}hs.fireEvent(d,b?"onMouseOver":"onMouseOut",c);for(var a=0;a<d.overlays.length;a++){(function(){var e=hs.$("hsId"+d.overlays[a]);if(e&&e.hideOnMouseOut){if(b){hs.setStyles(e,{visibility:"visible",display:""})}hs.animate(e,{opacity:b?e.opacity:0},e.dur)}})()}}catch(c){}},addEventListener:function(a,c,b){if(a==document&&c=="ready"){hs.push(hs.onReady,b)}try{a.addEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b);a.attachEvent("on"+c,b)}catch(d){a["on"+c]=b}}},removeEventListener:function(a,c,b){try{a.removeEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b)}catch(d){a["on"+c]=null}}},preloadFullImage:function(b){if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){var a=document.createElement("img");a.onload=function(){a=null;hs.preloadFullImage(b+1)};a.src=hs.preloadTheseImages[b]}},preloadImages:function(c){if(c&&typeof c!="object"){hs.numberOfImagesToPreload=c}var a=hs.getAnchors();for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))}if(hs.outlineType){new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)})}else{hs.preloadFullImage(0)}if(hs.restoreCursor){var d=hs.createElement("img",{src:hs.graphicsDir+hs.restoreCursor})}},init:function(){if(!hs.container){hs.ieLt7=hs.ie&&hs.uaVersion<7;hs.ieLt9=hs.ie&&hs.uaVersion<9;hs.getPageSize();hs.ie6SSL=hs.ieLt7&&location.protocol=="https:";for(var a in hs.langDefaults){if(typeof hs[a]!="undefined"){hs.lang[a]=hs[a]}else{if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){hs.lang[a]=hs.langDefaults[a]}}}hs.container=hs.createElement("div",{className:"highslide-container"},{position:"absolute",left:0,top:0,width:"100%",zIndex:hs.zIndexCounter,direction:"ltr"},document.body,true);hs.loading=hs.createElement("a",{className:"highslide-loading",title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:"javascript:;"},{position:"absolute",top:"-9999px",opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement("div",null,{display:"none"},hs.container);hs.viewport=hs.createElement("div",{className:"highslide-viewport highslide-viewport-size"},{visibility:(hs.safari&&hs.uaVersion<525)?"visible":"hidden"},hs.container,1);hs.clearing=hs.createElement("div",null,{clear:"both",paddingTop:"1px"},null,true);Math.linearTween=function(f,e,h,g){return h*f/g+e};Math.easeInQuad=function(f,e,h,g){return h*(f/=g)*f+e};Math.easeOutQuad=function(f,e,h,g){return -h*(f/=g)*(f-2)+e};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ieLt7&&hs.uaVersion<5.5));hs.fireEvent(this,"onActivate")}},ready:function(){if(hs.isReady){return}hs.isReady=true;for(var a=0;a<hs.onReady.length;a++){hs.onReady[a]()}},updateAnchors:function(){var a,d,l=[],h=[],k=[],b={},m;for(var e=0;e<hs.openerTagNames.length;e++){d=document.getElementsByTagName(hs.openerTagNames[e]);for(var c=0;c<d.length;c++){a=d[c];m=hs.isHsAnchor(a);if(m){hs.push(l,a);if(m[0]=="hs.expand"){hs.push(h,a)}else{if(m[0]=="hs.htmlExpand"){hs.push(k,a)}}var f=hs.getParam(a,"slideshowGroup")||"none";if(!b[f]){b[f]=[]}hs.push(b[f],a)}}}hs.anchors={all:l,groups:b,images:h,htmls:k};return hs.anchors},getAnchors:function(){return hs.anchors||hs.updateAnchors()},close:function(a){var b=hs.getExpander(a);if(b){b.close()}return false}};hs.fx=function(b,a,c){this.options=a;this.elem=b;this.prop=c;if(!a.orig){a.orig={}}};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step){this.options.step.call(this.elem,this.now,this)}},custom:function(e,d,c){this.startTime=(new Date()).getTime();this.start=e;this.end=d;this.unit=c;this.now=this.start;this.pos=this.state=0;var a=this;function b(f){return a.step(f)}b.elem=this.elem;if(b()&&hs.timers.push(b)==1){hs.timerId=setInterval(function(){var g=hs.timers;for(var f=0;f<g.length;f++){if(!g[f]()){g.splice(f--,1)}}if(!g.length){clearInterval(hs.timerId)}},13)}},step:function(d){var c=(new Date()).getTime();if(d||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"loadingPosXfade":return this.pos+this.cb+this.p1+(this.size-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";if(a.align=="center"){this.justify="center"}else{if(new RegExp(this.lt).test(a.anchor)){this.justify=null}else{if(new RegExp(this.rb).test(a.anchor)){this.justify="max"}}}this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.target=a["target"+this.dim.toUpperCase()];this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var f=this.exp;if(f.isImage&&(f.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);f.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}f.content.style[this.wh]=a+"px";f.wrapper.style[this.wh]=this.get("wsize")+"px";if(f.outline){f.outline.setPosition()}if(f.releaseMask){f.releaseMask.style[this.wh]=a+"px"}if(this.dim=="y"&&f.iDoc&&f.body.style.height!="auto"){try{f.iDoc.body.style.overflow="auto"}catch(b){}}if(f.isHtml){var c=f.scrollerDiv;if(this.sizeDiff===undefined){this.sizeDiff=f.innerContent["offset"+this.ucwh]-c["offset"+this.ucwh]}c.style[this.wh]=(this.size-this.sizeDiff)+"px";if(this.dim=="x"){f.mediumContent.style.width="auto"}if(f.body){f.body.style[this.wh]="auto"}}if(this.dim=="x"&&f.overlayBox){f.sizeOverlayBox(true)}if(this.dim=="x"&&f.slideshow&&f.isImage){if(a==this.full){f.slideshow.disable("full-expand")}else{f.slideshow.enable("full-expand")}}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isHtml=(l=="html");this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];this.last=hs.last;hs.last=null;hs.init();var m=this.key=hs.expanders.length;for(var g=0;g<hs.overrides.length;g++){var c=hs.overrides[g];this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]}if(!this.src){this.src=k.href}var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;d=this.thumb=d.getElementsByTagName("img")[0]||d;this.thumbsUserSetId=d.id||k.id;if(!hs.fireEvent(this,"onInit")){return true}for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].a==k&&!(this.last&&this.transitions[1]=="crossfade")){hs.expanders[g].focus();return false}}if(!hs.allowSimultaneousLoading){for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){hs.expanders[g].cancelLoading()}}}hs.expanders[m]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[m-1]){hs.expanders[m-1].close()}if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){hs.expanders[hs.focusKey].close()}}this.el=d;this.tpos=this.pageOrigin||hs.getPosition(d);hs.getPageSize();var j=this.x=new hs.Dimension(this,"x");j.calcThumb();var h=this.y=new hs.Dimension(this,"y");h.calcThumb();if(/area/i.test(d.tagName)){this.getImageMapAreaCorrection(d)}this.wrapper=hs.createElement("div",{id:"highslide-wrapper-"+this.key,className:"highslide-wrapper "+this.wrapperClassName},{visibility:"hidden",position:"absolute",zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=="image"&&this.outlineWhileAnimating==2){this.outlineWhileAnimating=0}if(!this.outlineType||(this.last&&this.isImage&&this.transitions[1]=="crossfade")){this[this.contentType+"Create"]()}else{if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+"Create"]()}else{this.showLoading();var e=this;new hs.Outline(this.outlineType,function(){e.connectOutline();e[e.contentType+"Create"]()})}}return true};hs.Expander.prototype={error:function(a){if(hs.debug){alert("Line "+a.lineNumber+": "+a.message)}else{window.location.href=this.src}},connectOutline:function(){var a=this.outline=hs.pendingOutlines[this.outlineType];a.exp=this;a.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null},showLoading:function(){if(this.onLoadStarted||this.loading){return}this.loading=hs.loading;var c=this;this.loading.onclick=function(){c.cancelLoading()};if(!hs.fireEvent(this,"onShowLoading")){return}var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";if(!d&&this.last&&this.transitions[1]=="crossfade"){var d=this.last}if(d){a=d.x.get("loadingPosXfade")+"px";b=d.y.get("loadingPosXfade")+"px";this.loading.style.zIndex=hs.zIndexCounter++}setTimeout(function(){if(c.loading){hs.setStyles(c.loading,{left:a,top:b,zIndex:hs.zIndexCounter++})}},100)},imageCreate:function(){var b=this;var a=document.createElement("img");this.content=a;a.onload=function(){if(hs.expanders[b.key]){b.contentLoaded()}};if(hs.blockRightClick){a.oncontextmenu=function(){return false}}a.className="highslide-image";hs.setStyles(a,{visibility:"hidden",display:"block",position:"absolute",maxWidth:"9999px",zIndex:3});a.title=hs.lang.restoreTitle;if(hs.safari&&hs.uaVersion<525){hs.container.appendChild(a)}if(hs.ie&&hs.flushImgSize){a.src=null}a.src=this.src;this.showLoading()},htmlCreate:function(){if(!hs.fireEvent(this,"onBeforeGetContent")){return}this.content=hs.getCacheBinding(this.a);if(!this.content){this.content=hs.getNode(this.contentId)}if(!this.content){this.content=hs.getSelfRendered()}this.getInline(["maincontent"]);if(this.maincontent){var a=hs.getElementByClass(this.content,"div","highslide-body");if(a){a.appendChild(this.maincontent)}this.maincontent.style.display="block"}hs.fireEvent(this,"onAfterGetContent");var d=this.innerContent=this.content;if(/(swf|iframe)/.test(this.objectType)){this.setObjContainerSize(d)}hs.container.appendChild(this.wrapper);hs.setStyles(this.wrapper,{position:"static",padding:"0 "+hs.marginRight+"px 0 "+hs.marginLeft+"px"});this.content=hs.createElement("div",{className:"highslide-html"},{position:"relative",zIndex:3,height:0,overflow:"hidden"},this.wrapper);this.mediumContent=hs.createElement("div",null,null,this.content,1);this.mediumContent.appendChild(d);hs.setStyles(d,{position:"relative",display:"block",direction:hs.lang.cssDirection||""});if(this.width){d.style.width=this.width+"px"}if(this.height){hs.setStyles(d,{height:this.height+"px",overflow:"hidden"})}if(d.offsetWidth<this.minWidth){d.style.width=this.minWidth+"px"}if(this.objectType=="ajax"&&!hs.getCacheBinding(this.a)){this.showLoading();var c=this;var b=new hs.Ajax(this.a,d);b.src=this.src;b.onLoad=function(){if(hs.expanders[c.key]){c.contentLoaded()}};b.onError=function(){location.href=c.src};b.run()}else{if(this.objectType=="iframe"&&this.objectLoadTime=="before"){this.writeExtendedContent()}else{this.contentLoaded()}}},contentLoaded:function(){try{if(!this.content){return}this.content.onload=null;if(this.onLoadStarted){return}else{this.onLoadStarted=true}var j=this.x,g=this.y;if(this.loading){hs.setStyles(this.loading,{top:"-9999px"});this.loading=null;hs.fireEvent(this,"onHideLoading")}if(this.isImage){j.full=this.content.width;g.full=this.content.height;hs.setStyles(this.content,{width:j.t+"px",height:g.t+"px"});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper)}else{if(this.htmlGetSize){this.htmlGetSize()}}j.calcBorders();g.calcBorders();hs.setStyles(this.wrapper,{left:(j.tpos+j.tb-j.cb)+"px",top:(g.tpos+j.tb-g.cb)+"px"});this.initSlideshow();this.getOverlays();var f=j.full/g.full;j.calcExpanded();this.justify(j);g.calcExpanded();this.justify(g);if(this.isHtml){this.htmlSizeOperations()}if(this.overlayBox){this.sizeOverlayBox(0,1)}if(this.allowSizeReduction){if(this.isImage){this.correctRatio(f)}else{this.fitOverlayBox()}var k=this.slideshow;if(k&&this.last&&k.controls&&k.fixedControls){var h=k.overlayOptions.position||"",a;for(var c in hs.oPos){for(var b=0;b<5;b++){a=this[c];if(h.match(hs.oPos[c][b])){a.pos=this.last[c].pos+(this.last[c].p1-a.p1)+(this.last[c].size-a.size)*[0,0,0.5,1,1][b];if(k.fixedControls=="fit"){if(a.pos+a.size+a.p1+a.p2>a.scroll+a.clientSize-a.marginMax){a.pos=a.scroll+a.clientSize-a.size-a.marginMin-a.marginMax-a.p1-a.p2}if(a.pos<a.scroll+a.marginMin){a.pos=a.scroll+a.marginMin}}}}}}if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(d){this.error(d)}},setObjContainerSize:function(a,d){var b=hs.getElementByClass(a,"DIV","highslide-body");if(/(iframe|swf)/.test(this.objectType)){if(this.objectWidth){b.style.width=this.objectWidth+"px"}if(this.objectHeight){b.style.height=this.objectHeight+"px"}}},writeExtendedContent:function(){if(this.hasExtendedContent){return}var f=this;this.body=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(this.objectType=="iframe"){this.showLoading();var g=hs.clearing.cloneNode(1);this.body.appendChild(g);this.newWidth=this.innerContent.offsetWidth;if(!this.objectWidth){this.objectWidth=g.offsetWidth}var c=this.innerContent.offsetHeight-this.body.offsetHeight,d=this.objectHeight||hs.page.height-c-hs.marginTop-hs.marginBottom,e=this.objectLoadTime=="before"?' onload="if (hs.expanders['+this.key+"]) hs.expanders["+this.key+'].contentLoaded()" ':"";this.body.innerHTML+='<iframe name="hs'+(new Date()).getTime()+'" frameborder="0" key="'+this.key+'" style="width:'+this.objectWidth+"px; height:"+d+'px" '+e+' src="'+this.src+'" ></iframe>';this.ruler=this.body.getElementsByTagName("div")[0];this.iframe=this.body.getElementsByTagName("iframe")[0];if(this.objectLoadTime=="after"){this.correctIframeSize()}}if(this.objectType=="swf"){this.body.id=this.body.id||"hs-flash-id-"+this.key;var b=this.swfOptions;if(!b.params){b.params={}}if(typeof b.params.wmode=="undefined"){b.params.wmode="transparent"}if(swfobject){swfobject.embedSWF(this.src,this.body.id,this.objectWidth,this.objectHeight,b.version||"7",b.expressInstallSwfurl,b.flashvars,b.params,b.attributes)}}this.hasExtendedContent=true},htmlGetSize:function(){if(this.iframe&&!this.objectHeight){this.iframe.style.height=this.body.style.height=this.getIframePageHeight()+"px"}this.innerContent.appendChild(hs.clearing);if(!this.x.full){this.x.full=this.innerContent.offsetWidth}this.y.full=this.innerContent.offsetHeight;this.innerContent.removeChild(hs.clearing);if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}hs.setStyles(this.wrapper,{position:"absolute",padding:"0"});hs.setStyles(this.content,{width:this.x.t+"px",height:this.y.t+"px"})},getIframePageHeight:function(){var a;try{var d=this.iDoc=this.iframe.contentDocument||this.iframe.contentWindow.document;var b=d.createElement("div");b.style.clear="both";d.body.appendChild(b);a=b.offsetTop;if(hs.ie){a+=parseInt(d.body.currentStyle.marginTop)+parseInt(d.body.currentStyle.marginBottom)-1}}catch(c){a=300}return a},correctIframeSize:function(){var b=this.innerContent.offsetWidth-this.ruler.offsetWidth;hs.discardElement(this.ruler);if(b<0){b=0}var a=this.innerContent.offsetHeight-this.iframe.offsetHeight;if(this.iDoc&&!this.objectHeight&&!this.height&&this.y.size==this.y.full){try{this.iDoc.body.style.overflow="hidden"}catch(c){}}hs.setStyles(this.iframe,{width:Math.abs(this.x.size-b)+"px",height:Math.abs(this.y.size-a)+"px"});hs.setStyles(this.body,{width:this.iframe.style.width,height:this.iframe.style.height});this.scrollingContent=this.iframe;this.scrollerDiv=this.scrollingContent},htmlSizeOperations:function(){this.setObjContainerSize(this.innerContent);if(this.objectType=="swf"&&this.objectLoadTime=="before"){this.writeExtendedContent()}if(this.x.size<this.x.full&&!this.allowWidthReduction){this.x.size=this.x.full}if(this.y.size<this.y.full&&!this.allowHeightReduction){this.y.size=this.y.full}this.scrollerDiv=this.innerContent;hs.setStyles(this.mediumContent,{position:"relative",width:this.x.size+"px"});hs.setStyles(this.innerContent,{border:"none",width:"auto",height:"auto"});var e=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(e&&!/(iframe|swf)/.test(this.objectType)){var b=e;e=hs.createElement(b.nodeName,null,{overflow:"hidden"},null,true);b.parentNode.insertBefore(e,b);e.appendChild(hs.clearing);e.appendChild(b);var c=this.innerContent.offsetWidth-e.offsetWidth;var a=this.innerContent.offsetHeight-e.offsetHeight;e.removeChild(hs.clearing);var d=hs.safari||navigator.vendor=="KDE"?1:0;hs.setStyles(e,{width:(this.x.size-c-d)+"px",height:(this.y.size-a)+"px",overflow:"auto",position:"relative"});if(d&&b.offsetHeight>e.offsetHeight){e.style.width=(parseInt(e.style.width)+d)+"px"}this.scrollingContent=e;this.scrollerDiv=this.scrollingContent}if(this.iframe&&this.objectLoadTime=="before"){this.correctIframeSize()}if(!this.scrollingContent&&this.y.size<this.mediumContent.offsetHeight){this.scrollerDiv=this.content}if(this.scrollerDiv==this.content&&!this.allowWidthReduction&&!/(iframe|swf)/.test(this.objectType)){this.x.size+=17}if(this.scrollerDiv&&this.scrollerDiv.offsetHeight>this.scrollerDiv.parentNode.offsetHeight){setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",hs.expandDuration)}},getImageMapAreaCorrection:function(d){var h=d.coords.split(",");for(var b=0;b<h.length;b++){h[b]=parseInt(h[b])}if(d.shape.toLowerCase()=="circle"){this.x.tpos+=h[0]-h[2];this.y.tpos+=h[1]-h[2];this.x.t=this.y.t=2*h[2]}else{var f,e,a=f=h[0],g=e=h[1];for(var b=0;b<h.length;b++){if(b%2==0){a=Math.min(a,h[b]);f=Math.max(f,h[b])}else{g=Math.min(g,h[b]);e=Math.max(e,h[b])}}this.x.tpos+=a;this.x.t=f-a;this.y.tpos+=g;this.y.t=e-g}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";if(h&&h.match(/ /)){g=h.split(" ");h=g[0]}if(h&&hs.$(h)){f.pos=hs.getPosition(hs.$(h))[e];if(g&&g[1]&&g[1].match(/^[-]?[0-9]+px$/)){f.pos+=parseInt(g[1])}if(f.size<f.minSize){f.size=f.minSize}}else{if(f.justify=="auto"||f.justify=="center"){var d=false;var a=f.exp.allowSizeReduction;if(f.justify=="center"){f.pos=Math.round(f.scroll+(f.clientSize+f.marginMin-f.marginMax-f.get("wsize"))/2)}else{f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2))}if(f.pos<f.scroll+f.marginMin){f.pos=f.scroll+f.marginMin;d=true}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")<f.get("fitsize")){f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")}else{f.pos=f.scroll+f.marginMin;if(!b&&a){f.size=f.get(e=="y"?"fitsize":"maxsize")}}}}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}}else{if(f.justify=="max"){f.pos=Math.floor(f.pos-f.size+f.t)}}}if(f.pos<f.marginMin){var c=f.pos;f.pos=f.marginMin;if(a&&!b){f.size=f.size-(f.pos-c)}}},correctRatio:function(c){var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);if(d/b>c){d=b*c;if(d<a.minSize){d=a.minSize;b=d/c}e=true}else{if(d/b<c){b=d/c;e=true}}if(hs.padToMinWidth&&a.full<a.minSize){a.imgSize=a.full;g.size=g.imgSize=g.full}else{if(this.useBox){a.imgSize=d;g.imgSize=b}else{a.size=d;g.size=b}}e=this.fitOverlayBox(this.useBox?null:c,e);if(f&&g.size<g.imgSize){g.imgSize=g.size;a.imgSize=g.size*c}if(e||f){a.pos=a.tpos-a.cb+a.tb;a.minSize=a.size;this.justify(a,true);g.pos=g.tpos-g.cb+g.tb;g.minSize=g.size;this.justify(g,true);if(this.overlayBox){this.sizeOverlayBox()}}},fitOverlayBox:function(b,c){var a=this.x,d=this.y;if(this.overlayBox&&(this.isImage||this.allowHeightReduction)){while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},reflow:function(){if(this.scrollerDiv){var a=/iframe/i.test(this.scrollerDiv.tagName)?(this.getIframePageHeight()+1)+"px":"auto";if(this.body){this.body.style.height=a}this.scrollerDiv.style.height=a;this.y.setSize(this.innerContent.offsetHeight)}},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");hs.fireEvent(this,"onBeforeExpand");if(this.slideshow&&this.slideshow.thumbstrip){this.slideshow.thumbstrip.selectThumb()}this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(d,i,b){var k=this.transitions,e=d?(this.last?this.last.a:null):hs.upcoming,j=(k[1]&&e&&hs.getParam(e,"transitions")[1]==k[1])?k[1]:k[0];if(this[j]&&j!="expand"){this[j](d,i);return}if(this.outline&&!this.outlineWhileAnimating){if(d){this.outline.setPosition()}else{this.outline.destroy((this.isHtml&&this.preserveContent))}}if(!d){this.destroyOverlays()}var c=this,h=c.x,g=c.y,f=this.easing;if(!d){f=this.easingClose||f}var a=d?function(){if(c.outline){c.outline.table.style.visibility="visible"}setTimeout(function(){c.afterExpand()},50)}:function(){c.afterClose()};if(d){hs.setStyles(this.wrapper,{width:h.t+"px",height:g.t+"px"})}if(d&&this.isHtml){hs.setStyles(this.wrapper,{left:(h.tpos-h.cb+h.tb)+"px",top:(g.tpos-g.cb+g.tb)+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:d?0:1});hs.extend(i.wrapper,{opacity:d})}hs.animate(this.wrapper,i.wrapper,{duration:b,easing:f,step:function(n,l){if(c.outline&&c.outlineWhileAnimating&&l.prop=="top"){var m=d?l.pos:1-l.pos;var o={w:h.t+(h.get("wsize")-h.t)*m,h:g.t+(g.get("wsize")-g.t)*m,x:h.tpos+(h.pos-h.tpos)*m,y:g.tpos+(g.pos-g.tpos)*m};c.outline.setPosition(o,0,1)}if(c.isHtml){if(l.prop=="left"){c.mediumContent.style.left=(h.pos-n)+"px"}if(l.prop=="top"){c.mediumContent.style.top=(g.pos-n)+"px"}}}});hs.animate(this.content,i.content,b,f,a);if(d){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";if(this.isHtml){this.innerContent.style.visibility="visible"}this.a.className+=" highslide-active-anchor"}},fade:function(f,h){this.outlineWhileAnimating=false;var c=this,j=f?hs.expandDuration:0;if(f){hs.animate(this.wrapper,h.wrapper,0);hs.setStyles(this.wrapper,{opacity:0,visibility:"visible"});hs.animate(this.content,h.content,0);this.content.style.visibility="visible";hs.animate(this.wrapper,{opacity:1},j,null,function(){c.afterExpand()})}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex;var b=f||-1,d=this.outline.offset,a=f?3:d,g=f?d:3;for(var e=a;b*e<=b*g;e+=b,j+=25){(function(){var i=f?g-e:a-e;setTimeout(function(){c.outline.setPosition(0,i,1)},j)})()}}if(f){}else{setTimeout(function(){if(c.outline){c.outline.destroy(c.preserveContent)}c.destroyOverlays();hs.animate(c.wrapper,{opacity:0},hs.restoreDuration,null,function(){c.afterClose()})},j)}},crossfade:function(g,m,o){if(!g){return}var f=this,p=this.last,l=this.x,k=this.y,d=p.x,b=p.y,a=this.wrapper,i=this.content,c=this.overlayBox;hs.removeEventListener(document,"mousemove",hs.dragHandler);hs.setStyles(i,{width:(l.imgSize||l.size)+"px",height:(k.imgSize||k.size)+"px"});if(c){c.style.overflow="visible"}this.outline=p.outline;if(this.outline){this.outline.exp=f}p.outline=null;var h=hs.createElement("div",{className:"highslide-"+this.contentType},{position:"absolute",zIndex:4,overflow:"hidden",display:"none"});var j={oldImg:p,newImg:this};for(var e in j){this[e]=j[e].content.cloneNode(1);hs.setStyles(this[e],{position:"absolute",border:0,visibility:"visible"});h.appendChild(this[e])}a.appendChild(h);if(this.isHtml){hs.setStyles(this.mediumContent,{left:0,top:0})}if(c){c.className="";a.appendChild(c)}h.style.display="";p.content.style.display="none";if(hs.safari&&hs.uaVersion<525){this.wrapper.style.visibility="visible"}hs.animate(a,{width:l.size},{duration:hs.transitionDuration,step:function(u,r){var x=r.pos,q=1-x;var w,s={},t=["pos","size","p1","p2"];for(var v in t){w=t[v];s["x"+w]=Math.round(q*d[w]+x*l[w]);s["y"+w]=Math.round(q*b[w]+x*k[w]);s.ximgSize=Math.round(q*(d.imgSize||d.size)+x*(l.imgSize||l.size));s.ximgPad=Math.round(q*d.get("imgPad")+x*l.get("imgPad"));s.yimgSize=Math.round(q*(b.imgSize||b.size)+x*(k.imgSize||k.size));s.yimgPad=Math.round(q*b.get("imgPad")+x*k.get("imgPad"))}if(f.outline){f.outline.setPosition({x:s.xpos,y:s.ypos,w:s.xsize+s.xp1+s.xp2+2*l.cb,h:s.ysize+s.yp1+s.yp2+2*k.cb})}p.wrapper.style.clip="rect("+(s.ypos-b.pos)+"px, "+(s.xsize+s.xp1+s.xp2+s.xpos+2*d.cb-d.pos)+"px, "+(s.ysize+s.yp1+s.yp2+s.ypos+2*b.cb-b.pos)+"px, "+(s.xpos-d.pos)+"px)";hs.setStyles(i,{top:(s.yp1+k.get("imgPad"))+"px",left:(s.xp1+l.get("imgPad"))+"px",marginTop:(k.pos-s.ypos)+"px",marginLeft:(l.pos-s.xpos)+"px"});hs.setStyles(a,{top:s.ypos+"px",left:s.xpos+"px",width:(s.xp1+s.xp2+s.xsize+2*l.cb)+"px",height:(s.yp1+s.yp2+s.ysize+2*k.cb)+"px"});hs.setStyles(h,{width:(s.ximgSize||s.xsize)+"px",height:(s.yimgSize||s.ysize)+"px",left:(s.xp1+s.ximgPad)+"px",top:(s.yp1+s.yimgPad)+"px",visibility:"visible"});hs.setStyles(f.oldImg,{top:(b.pos-s.ypos+b.p1-s.yp1+b.get("imgPad")-s.yimgPad)+"px",left:(d.pos-s.xpos+d.p1-s.xp1+d.get("imgPad")-s.ximgPad)+"px"});hs.setStyles(f.newImg,{opacity:x,top:(k.pos-s.ypos+k.p1-s.yp1+k.get("imgPad")-s.yimgPad)+"px",left:(l.pos-s.xpos+l.p1-s.xp1+l.get("imgPad")-s.ximgPad)+"px"});if(c){hs.setStyles(c,{width:s.xsize+"px",height:s.ysize+"px",left:(s.xp1+l.cb)+"px",top:(s.yp1+k.cb)+"px"})}},complete:function(){a.style.visibility=i.style.visibility="visible";i.style.display="block";hs.discardElement(h);f.afterExpand();p.afterClose();f.last=null}})},reuseOverlay:function(d,c){if(!this.last){return false}for(var b=0;b<this.last.overlays.length;b++){var a=hs.$("hsId"+this.last.overlays[b]);if(a&&a.hsId==d.hsId){this.genOverlayBox();a.reuse=this.key;hs.push(this.overlays,this.last.overlays[b]);return true}}return false},afterExpand:function(){this.isExpanded=true;this.focus();if(this.isHtml&&this.objectLoadTime=="after"){this.writeExtendedContent()}if(this.iframe){try{var g=this,f=this.iframe.contentDocument||this.iframe.contentWindow.document;hs.addEventListener(f,"mousedown",function(){if(hs.focusKey!=g.key){g.focus()}})}catch(d){}if(hs.ie&&typeof this.isClosing!="boolean"){this.iframe.style.width=(this.objectWidth-1)+"px"}}if(this.dimmingOpacity){hs.dim(this)}if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");if(this.overlayBox){this.showOverlays()}hs.fireEvent(this,"onAfterExpand")},prepareNextOutline:function(){var a=this.key;var b=this.outlineType;new hs.Outline(b,function(){try{hs.expanders[a].preloadNext()}catch(c){}})},preloadNext:function(){var b=this.getAdjacentAnchor(1);if(b&&b.onclick.toString().match(/hs\.expand/)){var a=hs.createElement("img",{src:hs.getSrc(b)})}},getAdjacentAnchor:function(c){var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];if(a&&!a[b+c]&&this.slideshow&&this.slideshow.repeat){if(c==1){return a[0]}else{if(c==-1){return a[a.length-1]}}}return(a&&a[b+c])||null},getAnchorIndex:function(){var a=hs.getAnchors().groups[this.slideshowGroup||"none"];if(a){for(var b=0;b<a.length;b++){if(a[b]==this.a){return b}}}return null},getNumber:function(){if(this[this.numberPosition]){var a=hs.anchors.groups[this.slideshowGroup||"none"];if(a){var b=hs.lang.number.replace("%1",this.getAnchorIndex()+1).replace("%2",a.length);this[this.numberPosition].innerHTML='<div class="highslide-number">'+b+"</div>"+this[this.numberPosition].innerHTML}}},initSlideshow:function(){if(!this.last){for(var c=0;c<hs.slideshows.length;c++){var b=hs.slideshows[c],d=b.slideshowGroup;if(typeof d=="undefined"||d===null||d===this.slideshowGroup){this.slideshow=new hs.Slideshow(this.key,b)}}}else{this.slideshow=this.last.slideshow}var b=this.slideshow;if(!b){return}var a=b.expKey=this.key;b.checkFirstAndLast();b.disable("full-expand");if(b.controls){this.createOverlay(hs.extend(b.overlayOptions||{},{overlayId:b.controls,hsId:"controls",zIndex:5}))}if(b.thumbstrip){b.thumbstrip.add(this)}if(!this.last&&this.autoplay){b.play(true)}if(b.autoplay){b.autoplay=setTimeout(function(){hs.next(a)},(b.interval||500))}},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(hs.upcoming==this.a){hs.upcoming=null}hs.undim(this.key);if(this.loading){hs.loading.style.left="-9999px"}hs.fireEvent(this,"onHideLoading")},writeCredits:function(){if(this.credits){return}this.credits=hs.createElement("a",{href:hs.creditsHref,target:hs.creditsTarget,className:"highslide-credits",innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||"top left",hsId:"credits"})},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(type=="caption"&&!hs.fireEvent(this,"onBeforeGetCaption")){return}else{if(type=="heading"&&!hs.fireEvent(this,"onBeforeGetHeading")){return}}if(!this[type+"Id"]&&this.thumbsUserSetId){this[type+"Id"]=type+"-for-"+this.thumbsUserSetId}if(this[type+"Id"]){this[type]=hs.getNode(this[type+"Id"])}if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){try{s=eval(this[type+"Eval"])}catch(e){}}if(!this[type]&&this[type+"Text"]){s=this[type+"Text"]}if(!this[type]&&!s){this[type]=hs.getNode(this.a["_"+type+"Id"]);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp("highslide-"+type)).test(next.className||null)){if(!next.id){this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++}this[type]=hs.getNode(next.id);break}next=next.nextSibling}}}if(!this[type]&&!s&&this.numberPosition==type){s="\n"}if(!this[type]&&s){this[type]=hs.createElement("div",{className:"highslide-"+type,innerHTML:s})}if(addOverlay&&this[type]){var o={position:(type=="heading")?"above":"below"};for(var x in this[type+"Overlay"]){o[x]=this[type+"Overlay"][x]}o.overlayId=this[type];this.createOverlay(o)}}},doShowHide:function(a){if(hs.hideSelects){this.showHideElements("SELECT",a)}if(hs.hideIframes){this.showHideElements("IFRAME",a)}if(hs.geckoMac){this.showHideElements("*",a)}},showHideElements:function(c,b){var e=document.getElementsByTagName(c);var a=c=="*"?"overflow":"visibility";for(var f=0;f<e.length;f++){if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){var h=e[f].getAttribute("hidden-by");if(b=="visible"&&h){h=h.replace("["+this.key+"]","");e[f].setAttribute("hidden-by",h);if(!h){e[f].style[a]=e[f].origProp}}else{if(b=="hidden"){var k=hs.getPosition(e[f]);k.w=e[f].offsetWidth;k.h=e[f].offsetHeight;if(!this.dimmingOpacity){var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"))}var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&a==hs.focusKey){var b=hs.expanders[a];b.content.className+=" highslide-"+b.contentType+"-blur";if(b.isImage){b.content.style.cursor=hs.ieLt7?"hand":"pointer";b.content.title=hs.lang.focusTitle}hs.fireEvent(b,"onBlur")}}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex-1}this.content.className="highslide-"+this.contentType;if(this.isImage){this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";if(hs.ieLt7&&hs.uaVersion<6){hs.styleRestoreCursor="hand"}this.content.style.cursor=hs.styleRestoreCursor}}hs.focusKey=this.key;hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);hs.fireEvent(this,"onFocus")},moveTo:function(a,b){this.x.setPos(a);this.y.setPos(b)},resize:function(d){var a,b,c=d.width/d.height;a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(a-this.x.full)<12){a=this.x.full}b=this.isHtml?d.height+d.dY:a/c;if(b<Math.min(this.minHeight,this.y.full)){b=Math.min(this.minHeight,this.y.full);if(this.isImage){a=b*c}}this.resizeTo(a,b)},resizeTo:function(a,b){this.y.setSize(b);this.x.setSize(a);this.wrapper.style.height=this.y.get("wsize")+"px"},close:function(){if(this.isClosing||!this.isExpanded){return}if(this.transitions[1]=="crossfade"&&hs.upcoming){hs.getExpander(hs.upcoming).cancelLoading();hs.upcoming=null}if(!hs.fireEvent(this,"onBeforeClose")){return}this.isClosing=true;if(this.slideshow&&!hs.upcoming){this.slideshow.pause()}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{if(this.isHtml){this.htmlPrepareClose()}this.content.style.cursor="default";this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration)}catch(a){this.afterClose()}},htmlPrepareClose:function(){if(hs.geckoMac){if(!hs.mask){hs.mask=hs.createElement("div",null,{position:"absolute"},hs.container)}hs.setStyles(hs.mask,{width:this.x.size+"px",height:this.y.size+"px",left:this.x.pos+"px",top:this.y.pos+"px",display:"block"})}if(this.objectType=="swf"){try{hs.$(this.body.id).StopPlay()}catch(a){}}if(this.objectLoadTime=="after"&&!this.preserveContent){this.destroyObject()}if(this.scrollerDiv&&this.scrollerDiv!=this.scrollingContent){this.scrollerDiv.style.overflow="hidden"}},destroyObject:function(){if(hs.ie&&this.iframe){try{this.iframe.contentWindow.document.body.innerHTML=""}catch(a){}}if(this.objectType=="swf"){swfobject.removeSWF(this.body.id)}this.body.innerHTML=""},sleep:function(){if(this.outline){this.outline.table.style.display="none"}this.releaseMask=null;this.wrapper.style.display="none";this.isExpanded=false;hs.push(hs.sleeping,this)},awake:function(){try{hs.expanders[this.key]=this;if(!hs.allowMultipleInstances&&hs.focusKey!=this.key){try{hs.expanders[hs.focusKey].close()}catch(b){}}var d=hs.zIndexCounter++,a={display:"",zIndex:d};hs.setStyles(this.wrapper,a);this.isClosing=false;var c=this.outline||0;if(c){if(!this.outlineWhileAnimating){a.visibility="hidden"}hs.setStyles(c.table,a)}if(this.slideshow){this.initSlideshow()}this.show()}catch(b){}},createOverlay:function(e){var d=e.overlayId,a=(e.relativeTo=="viewport"&&!/panel$/.test(e.position));if(typeof d=="string"){d=hs.getNode(d)}if(e.html){d=hs.createElement("div",{innerHTML:e.html})}if(!d||typeof d=="string"){return}if(!hs.fireEvent(this,"onCreateOverlay",{overlay:d})){return}d.style.display="block";e.hsId=e.hsId||e.overlayId;if(this.transitions[1]=="crossfade"&&this.reuseOverlay(e,d)){return}this.genOverlayBox();var c=e.width&&/^[0-9]+(px|%)$/.test(e.width)?e.width:"auto";if(/^(left|right)panel$/.test(e.position)&&!/^[0-9]+px$/.test(e.width)){c="200px"}var b=hs.createElement("div",{id:"hsId"+hs.idCounter++,hsId:e.hsId},{position:"absolute",visibility:"hidden",width:c,direction:hs.lang.cssDirection||"",opacity:0},a?hs.viewport:this.overlayBox,true);if(a){b.hsKey=this.key}b.appendChild(d);hs.extend(b,{opacity:1,offsetX:0,offsetY:0,dur:(e.fade===0||e.fade===false||(e.fade==2&&hs.ie))?0:250});hs.extend(b,e);if(this.gotOverlays){this.positionOverlay(b);if(!b.hideOnMouseOut||this.mouseIsOver){hs.animate(b,{opacity:b.opacity},b.dur)}}hs.push(this.overlays,hs.idCounter-1)},positionOverlay:function(e){var f=e.position||"middle center",c=(e.relativeTo=="viewport"),b=e.offsetX,a=e.offsetY;if(c){hs.viewport.style.display="block";e.hsKey=this.key;if(e.offsetWidth>e.parentNode.offsetWidth){e.style.width="100%"}}else{if(e.parentNode!=this.overlayBox){this.overlayBox.appendChild(e)}}if(/left$/.test(f)){e.style.left=b+"px"}if(/center$/.test(f)){hs.setStyles(e,{left:"50%",marginLeft:(b-Math.round(e.offsetWidth/2))+"px"})}if(/right$/.test(f)){e.style.right=-b+"px"}if(/^leftpanel$/.test(f)){hs.setStyles(e,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=e.offsetWidth}else{if(/^rightpanel$/.test(f)){hs.setStyles(e,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=e.offsetWidth}}var d=e.parentNode.offsetHeight;e.style.height="auto";if(c&&e.offsetHeight>d){e.style.height=hs.ieLt7?d+"px":"100%"}if(/^top/.test(f)){e.style.top=a+"px"}if(/^middle/.test(f)){hs.setStyles(e,{top:"50%",marginTop:(a-Math.round(e.offsetHeight/2))+"px"})}if(/^bottom/.test(f)){e.style.bottom=-a+"px"}if(/^above$/.test(f)){hs.setStyles(e,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=e.offsetHeight}else{if(/^below$/.test(f)){hs.setStyles(e,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=e.offsetHeight;e.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);this.getNumber();if(this.caption){hs.fireEvent(this,"onAfterGetCaption")}if(this.heading){hs.fireEvent(this,"onAfterGetHeading")}if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a<hs.overlays.length;a++){var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){if(this.isImage||(this.isHtml&&d.useOnHtml)){this.createOverlay(d)}}}var c=[];for(var a=0;a<this.overlays.length;a++){var d=hs.$("hsId"+this.overlays[a]);if(/panel$/.test(d.position)){this.positionOverlay(d)}else{hs.push(c,d)}}for(var a=0;a<c.length;a++){this.positionOverlay(c[a])}this.gotOverlays=true},genOverlayBox:function(){if(!this.overlayBox){this.overlayBox=hs.createElement("div",{className:this.wrapperClassName},{position:"absolute",width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",height:(this.y.size||this.y.full)+"px",visibility:"hidden",overflow:"hidden",zIndex:hs.ie?4:"auto"},hs.container,true)}},sizeOverlayBox:function(f,d){var c=this.overlayBox,a=this.x,h=this.y;hs.setStyles(c,{width:a.size+"px",height:h.size+"px"});if(f||d){for(var e=0;e<this.overlays.length;e++){var g=hs.$("hsId"+this.overlays[e]);var b=(hs.ieLt7||document.compatMode=="BackCompat");if(g&&/^(above|below)$/.test(g.position)){if(b){g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"}h[g.position=="above"?"p1":"p2"]=g.offsetHeight}if(g&&b&&/^(left|right)panel$/.test(g.position)){g.style.height=(c.offsetHeight+2*h.cb)+"px"}}}if(f){hs.setStyles(this.content,{top:h.p1+"px"});hs.setStyles(c,{top:(h.p1+h.cb)+"px"})}},showOverlays:function(){var a=this.overlayBox;a.className="";hs.setStyles(a,{top:(this.y.p1+this.y.cb)+"px",left:(this.x.p1+this.x.cb)+"px",overflow:"visible"});if(hs.safari){a.style.visibility="visible"}this.wrapper.appendChild(a);for(var c=0;c<this.overlays.length;c++){var d=hs.$("hsId"+this.overlays[c]);d.style.zIndex=d.zIndex||4;if(!d.hideOnMouseOut||this.mouseIsOver){d.style.visibility="visible";hs.setStyles(d,{visibility:"visible",display:""});hs.animate(d,{opacity:d.opacity},d.dur)}}},destroyOverlays:function(){if(!this.overlays.length){return}if(this.slideshow){var d=this.slideshow.controls;if(d&&hs.getExpander(d)==this){d.parentNode.removeChild(d)}}for(var a=0;a<this.overlays.length;a++){var b=hs.$("hsId"+this.overlays[a]);if(b&&b.parentNode==hs.viewport&&hs.getExpander(b)==this){hs.discardElement(b)}}if(this.isHtml&&this.preserveContent){this.overlayBox.style.top="-9999px";hs.container.appendChild(this.overlayBox)}else{hs.discardElement(this.overlayBox)}},createFullExpand:function(){if(this.slideshow&&this.slideshow.controls){this.slideshow.enable("full-expand");return}this.fullExpandLabel=hs.createElement("a",{href:"javascript:hs.expanders["+this.key+"].doFullExpand();",title:hs.lang.fullExpandTitle,className:"highslide-full-expand"});if(!hs.fireEvent(this,"onCreateFullExpand")){return}this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity})},doFullExpand:function(){try{if(!hs.fireEvent(this,"onDoFullExpand")){return}if(this.fullExpandLabel){hs.discardElement(this.fullExpandLabel)}this.focus();var c=this.x.size,a=this.y.size;this.resizeTo(this.x.full,this.y.full);var b=this.x.pos-(this.x.size-c)/2;if(b<hs.marginLeft){b=hs.marginLeft}var f=this.y.pos-(this.y.size-a)/2;if(f<hs.marginTop){f=hs.marginTop}this.moveTo(b,f);this.doShowHide("hidden")}catch(d){this.error(d)}},afterClose:function(){this.a.className=this.a.className.replace("highslide-active-anchor","");this.doShowHide("visible");if(this.isHtml&&this.preserveContent&&this.transitions[1]!="crossfade"){this.sleep()}else{if(this.outline&&this.outlineWhileAnimating){this.outline.destroy()}hs.discardElement(this.wrapper)}if(hs.mask){hs.mask.style.display="none"}this.destroyOverlays();if(!hs.viewport.childNodes.length){hs.viewport.style.display="none"}if(this.dimmingOpacity){hs.undim(this.key)}hs.fireEvent(this,"onAfterClose");hs.expanders[this.key]=null;hs.reOrder()}};hs.Ajax=function(b,c,d){this.a=b;this.content=c;this.pre=d};hs.Ajax.prototype={run:function(){var d;if(!this.src){this.src=hs.getSrc(this.a)}if(this.src.match("#")){var a=this.src.split("#");this.src=a[0];this.id=a[1]}if(hs.cachedGets[this.src]){this.cachedGet=hs.cachedGets[this.src];if(this.id){this.getElementContent()}else{this.loadHTML()}return}try{d=new XMLHttpRequest()}catch(b){try{d=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{d=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.onError()}}}var f=this;d.onreadystatechange=function(){if(f.xhr.readyState==4){if(f.id){f.getElementContent()}else{f.loadHTML()}}};var c=this.src;this.xhr=d;if(hs.forceAjaxReload){c=c.replace(/$/,(/\?/.test(c)?"&":"?")+"dummy="+(new Date()).getTime())}d.open("GET",c,true);d.setRequestHeader("X-Requested-With","XMLHttpRequest");d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.send(null)},getElementContent:function(){hs.init();var a=window.opera||hs.ie6SSL?{src:"about:blank"}:null;this.iframe=hs.createElement("iframe",a,{position:"absolute",top:"-9999px"},hs.container);this.loadHTML()},loadHTML:function(){var c=this.cachedGet||this.xhr.responseText,b;if(this.pre){hs.cachedGets[this.src]=c}if(!hs.ie||hs.uaVersion>=5.5){c=c.replace(new RegExp("<link[^>]*>","gi"),"").replace(new RegExp("<script[^>]*>.*?<\/script>","gi"),"");if(this.iframe){var f=this.iframe.contentDocument;if(!f&&this.iframe.contentWindow){f=this.iframe.contentWindow.document}if(!f){var g=this;setTimeout(function(){g.loadHTML()},25);return}f.open();f.write(c);f.close();try{c=f.getElementById(this.id).innerHTML}catch(d){try{c=this.iframe.document.getElementById(this.id).innerHTML}catch(d){}}hs.discardElement(this.iframe)}else{b=/(<body[^>]*>|<\/body>)/ig;if(b.test(c)){c=c.split(b)[hs.ieLt9?1:2]}}}hs.getElementByClass(this.content,"DIV","highslide-body").innerHTML=c;this.onLoad();for(var a in this){this[a]=null}}};hs.Slideshow=function(c,b){if(hs.dynamicallyUpdateAnchors!==false){hs.updateAnchors()}this.expKey=c;for(var a in b){this[a]=b[a]}if(this.useControls){this.getControls()}if(this.thumbstrip){this.thumbstrip=hs.Thumbstrip(this)}};hs.Slideshow.prototype={getControls:function(){this.controls=hs.createElement("div",{innerHTML:hs.replaceLang(hs.skin.controls)},null,hs.container);var b=["play","pause","previous","next","move","full-expand","close"];this.btn={};var c=this;for(var a=0;a<b.length;a++){this.btn[b[a]]=hs.getElementByClass(this.controls,"li","highslide-"+b[a]);this.enable(b[a])}this.btn.pause.style.display="none"},checkFirstAndLast:function(){if(this.repeat||!this.controls){return}var c=hs.expanders[this.expKey],b=c.getAnchorIndex(),a=/disabled$/;if(b==0){this.disable("previous")}else{if(a.test(this.btn.previous.getElementsByTagName("a")[0].className)){this.enable("previous")}}if(b+1==hs.anchors.groups[c.slideshowGroup||"none"].length){this.disable("next");this.disable("play")}else{if(a.test(this.btn.next.getElementsByTagName("a")[0].className)){this.enable("next");this.enable("play")}}},enable:function(d){if(!this.btn){return}var c=this,b=this.btn[d].getElementsByTagName("a")[0],e=/disabled$/;b.onclick=function(){c[d]();return false};if(e.test(b.className)){b.className=b.className.replace(e,"")}},disable:function(c){if(!this.btn){return}var b=this.btn[c].getElementsByTagName("a")[0];b.onclick=function(){return false};if(!/disabled$/.test(b.className)){b.className+=" disabled"}},hitSpace:function(){if(this.autoplay){this.pause()}else{this.play()}},play:function(a){if(this.btn){this.btn.play.style.display="none";this.btn.pause.style.display=""}this.autoplay=true;if(!a){hs.next(this.expKey)}},pause:function(){if(this.btn){this.btn.pause.style.display="none";this.btn.play.style.display=""}clearTimeout(this.autoplay);this.autoplay=null},previous:function(){this.pause();hs.previous(this.btn.previous)},next:function(){this.pause();hs.next(this.btn.next)},move:function(){},"full-expand":function(){hs.getExpander().doFullExpand()},close:function(){hs.close(this.btn.close)}};hs.Thumbstrip=function(k){function p(i){hs.extend(f||{},{overlayId:r,hsId:"thumbstrip",className:"highslide-thumbstrip-"+m+"-overlay "+(f.className||"")});if(hs.ieLt7){f.fade=0}i.createOverlay(f);hs.setStyles(r.parentNode,{overflow:"hidden"})}function c(i){d(undefined,Math.round(i*r[h?"offsetWidth":"offsetHeight"]*0.7))}function d(L,M){if(L===undefined){for(var K=0;K<j.length;K++){if(j[K]==hs.expanders[k.expKey].a){L=K;break}}}if(L===undefined){return}var G=r.getElementsByTagName("a"),z=G[L],w=z.parentNode,y=h?"Left":"Top",N=h?"Right":"Bottom",I=h?"Width":"Height",B="offset"+y,H="offset"+I,x=n.parentNode.parentNode[H],F=x-s[H],v=parseInt(s.style[h?"left":"top"])||0,C=v,D=20;if(M!==undefined){C=v-M;if(F>0){F=0}if(C>0){C=0}if(C<F){C=F}}else{for(var K=0;K<G.length;K++){G[K].className=""}z.className="highslide-active-anchor";var J=L>0?G[L-1].parentNode[B]:w[B],A=w[B]+w[H]+(G[L+1]?G[L+1].parentNode[H]:0);if(A>x-v){C=x-A}else{if(J<-v){C=-J}}}var E=w[B]+(w[H]-g[H])/2+C;hs.animate(s,h?{left:C}:{top:C},null,"easeOutQuad");hs.animate(g,h?{left:E}:{top:E},null,"easeOutQuad");l.style.display=C<0?"block":"none";t.style.display=(C>F)?"block":"none"}var j=hs.anchors.groups[hs.expanders[k.expKey].slideshowGroup||"none"],f=k.thumbstrip,m=f.mode||"horizontal",u=(m=="float"),o=u?["div","ul","li","span"]:["table","tbody","tr","td"],h=(m=="horizontal"),r=hs.createElement("div",{className:"highslide-thumbstrip highslide-thumbstrip-"+m,innerHTML:'<div class="highslide-thumbstrip-inner"><'+o[0]+"><"+o[1]+"></"+o[1]+"></"+o[0]+'></div><div class="highslide-scroll-up"><div></div></div><div class="highslide-scroll-down"><div></div></div><div class="highslide-marker"><div></div></div>'},{display:"none"},hs.container),e=r.childNodes,n=e[0],l=e[1],t=e[2],g=e[3],s=n.firstChild,a=r.getElementsByTagName(o[1])[0],b;for(var q=0;q<j.length;q++){if(q==0||!h){b=hs.createElement(o[2],null,null,a)}(function(){var v=j[q],i=hs.createElement(o[3],null,null,b),w=q;hs.createElement("a",{href:v.href,title:v.title,onclick:function(){if(/highslide-active-anchor/.test(this.className)){return false}hs.getExpander(this).focus();return hs.transit(v)},innerHTML:hs.stripItemFormatter?hs.stripItemFormatter(v):v.innerHTML},null,i)})()}if(!u){l.onclick=function(){c(-1)};t.onclick=function(){c(1)};hs.addEventListener(a,document.onmousewheel!==undefined?"mousewheel":"DOMMouseScroll",function(i){var v=0;i=i||window.event;if(i.wheelDelta){v=i.wheelDelta/120;if(hs.opera){v=-v}}else{if(i.detail){v=-i.detail/3}}if(v){c(-v*0.2)}if(i.preventDefault){i.preventDefault()}i.returnValue=false})}return{add:p,selectThumb:d}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor||hs.dimmingOpacity){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}b(".highslide-viewport-size",hs.ie&&(hs.uaVersion<7||c)?"position: absolute; left:"+a("scrollLeft")+"top:"+a("scrollTop")+"width:"+a("clientWidth")+"height:"+a("clientHeight"):"position: fixed; width: 100%; height: 100%; left: 0; top: 0")}});hs.addEventListener(window,"resize",function(){hs.getPageSize();if(hs.viewport){for(var a=0;a<hs.viewport.childNodes.length;a++){var b=hs.viewport.childNodes[a],c=hs.getExpander(b);c.positionOverlay(b);if(b.hsId=="thumbstrip"){c.slideshow.thumbstrip.selectThumb()}}}});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.setClickEvents);hs.addEventListener(window,"load",hs.preloadImages);hs.addEventListener(window,"load",hs.preloadAjax)};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Name: Highslide JS
3
+ * Version: 4.1.13 (2011-10-06)
4
+ * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash +packed
5
+ * Author: Torstein Hønsi
6
+ * Support: www.highslide.com/support
7
+ * License: www.highslide.com/#license
8
+ */
9
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){A m={18:{97:\'aK\',aZ:\'fw...\',aY:\'8G 2i fP\',bD:\'8G 2i g0 2i eR\',9Z:\'eZ 2i fc D (f)\',cq:\'f8 by <i>an ao</i>\',cr:\'f4 2i f6 an ao fg\',8Y:\'aq\',8W:\'ay\',8Z:\'ag\',92:\'am\',90:\'am (eD)\',b0:\'eY\',ab:\'al\',au:\'al 1p (aj)\',ac:\'ah\',ad:\'ah 1p (aj)\',8s:\'aq (8w 1b)\',8X:\'ay (8w 3m)\',8V:\'ag\',ae:\'1:1\',3G:\'g7 %1 fz %2\',9W:\'8G 2i 26 2R, dC aA dE 2i 3u. dF 8w dB O 1D aA 3a.\'},5c:\'K/dw/\',7R:\'dv.5q\',6h:\'dx.5q\',6W:5Z,9A:5Z,4W:15,9B:15,4d:15,6L:15,4F:cY,be:0.75,9l:M,9f:5,3Y:2,ei:3,5S:1j,bz:\'4Q 3m\',bA:1,br:M,ct:\'em://K.eh/\',cs:\'ec\',aS:M,9w:[\'a\',\'5v\'],3q:[],cE:5Z,4b:0,87:50,6J:1j,6X:M,4D:M,3U:\'60\',7W:M,46:\'1M\',9n:\'1M\',b1:I,aC:I,a7:M,4s:aw,6k:aw,5Y:M,1Z:\'ev-dV\',8i:{2X:\'<P 1W="K-2X"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3L">\'+\'<a 21="#" 24="{m.18.au}">\'+\'<1C>{m.18.ab}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3p">\'+\'<a 21="#" 24="{m.18.ad}">\'+\'<1C>{m.18.ac}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1a-2F">\'+\'<a 21="#" 24="{m.18.9Z}">\'+\'<1C>{m.18.ae}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" >\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\',bd:\'<P 1W="K-e2"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}" 2p="E m.3a(k)">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}" 2p="E m.1D(k)">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}" 2p="E 1j">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" 2p="E m.26(k)">\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\'+\'<P 1W="K-19"></P>\'+\'<P 1W="K-e7"><P>\'+\'<1C 1W="K-3O" 24="{m.18.b0}"><1C></1C></1C>\'+\'</P></P>\'},64:[],a1:M,16:[],a4:[\'5Y\',\'3t\',\'46\',\'9n\',\'b1\',\'aC\',\'1Z\',\'3Y\',\'dU\',\'dM\',\'dL\',\'b3\',\'dK\',\'dI\',\'dJ\',\'b2\',\'cv\',\'a7\',\'42\',\'6l\',\'3q\',\'4b\',\'L\',\'N\',\'88\',\'6J\',\'6X\',\'4D\',\'dN\',\'dO\',\'dT\',\'2I\',\'7W\',\'4j\',\'4x\',\'3U\',\'8e\',\'a9\',\'4s\',\'6k\',\'6M\',\'9i\',\'aX\',\'2N\',\'2Q\',\'cF\',\'cD\',\'1e\'],1T:[],61:0,8g:{x:[\'bM\',\'1b\',\'4X\',\'3m\',\'bC\'],y:[\'5N\',\'Y\',\'9a\',\'4Q\',\'7E\']},7B:{},b2:{},b3:{},8e:{aG:{},29:{},aF:{}},4m:[],6u:[],4n:{},4R:[],7q:[],5a:[],7k:{},8c:{},7l:[],2t:/dP\\/4\\.0/.11(4A.6d)?8:8J((4A.6d.5G().3b(/.+(?:b9|dQ|e9|2h)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2h:(W.6q&&!1S.3z),4M:/ea/.11(4A.6d),6y:/eu.+b9:1\\.[0-8].+es/.11(4A.6d),$:C(1v){q(1v)E W.9Q(1v)},2o:C(2a,3j){2a[2a.V]=3j},1d:C(ba,4l,49,6c,bh){A el=W.1d(ba);q(4l)m.3A(el,4l);q(bh)m.R(el,{94:0,8H:\'1E\',9D:0});q(49)m.R(el,49);q(6c)6c.1X(el);E el},3A:C(el,4l){O(A x 2Y 4l)el[x]=4l[x];E el},R:C(el,49){O(A x 2Y 49){q(m.3R&&x==\'1z\'){q(49[x]>0.99)el.G.ew(\'5Q\');J el.G.5Q=\'bg(1z=\'+(49[x]*2w)+\')\'}J el.G[x]=49[x]}},2z:C(el,1f,3C){A 4T,51,4w;q(1F 3C!=\'7j\'||3C===I){A 2H=c5;3C={4h:2H[2],2Q:2H[3],76:2H[4]}}q(1F 3C.4h!=\'3G\')3C.4h=5Z;3C.2Q=1h[3C.2Q]||1h.bj;3C.7g=m.3A({},1f);O(A 2Z 2Y 1f){A e=1J m.fx(el,3C,2Z);4T=8J(m.8I(el,2Z))||0;51=8J(1f[2Z]);4w=2Z!=\'1z\'?\'F\':\'\';e.3E(4T,51,4w)}},8I:C(el,1f){q(el.G[1f]){E el.G[1f]}J q(W.8L){E W.8L.cK(el,I).co(1f)}J{q(1f==\'1z\')1f=\'5Q\';A 3j=el.5y[1f.2k(/\\-(\\w)/g,C(a,b){E b.bi()})];q(1f==\'5Q\')3j=3j.2k(/bg\\(1z=([0-9]+)\\)/,C(a,b){E b/2w});E 3j===\'\'?1:3j}},7S:C(){A d=W,w=1S,63=d.7a&&d.7a!=\'8v\'?d.5h:d.19,3R=m.2h&&(m.2t<9||1F bf==\'1L\');A L=3R?63.8F:(d.5h.8F||7c.ep),N=3R?63.c4:7c.eo;m.4g={L:L,N:N,5O:3R?63.5O:bf,5R:3R?63.5R:ed};E m.4g},6K:C(el){q(/5v/i.11(el.3J)){A 7N=W.2C(\'1N\');O(A i=0;i<7N.V;i++){A u=7N[i].eb;q(u&&u.2k(/^.*?#/,\'\')==el.23.2Z){el=7N[i];5m}}}A p={x:el.4V,y:el.8O};5g(el.bb){el=el.bb;p.x+=el.4V;p.y+=el.8O;q(el!=W.19&&el!=W.5h){p.x-=el.5O;p.y-=el.5R}}E p},2F:C(a,29,3E,T){q(!a)a=m.1d(\'a\',I,{1o:\'1E\'},m.2b);q(1F a.6a==\'C\')E 29;q(T==\'3D\'){O(A i=0;i<m.4R.V;i++){q(m.4R[i]&&m.4R[i].a==a){m.4R[i].bP();m.4R[i]=I;E 1j}}m.aU=M}1t{1J m.5A(a,29,3E,T);E 1j}1y(e){E M}},9u:C(a,29,3E){E m.2F(a,29,3E,\'3D\')},89:C(){E m.1d(\'P\',{1c:\'K-3D-S\',2d:m.8b(m.8i.bd)})},4p:C(el,3J,1c){A 1m=el.2C(3J);O(A i=0;i<1m.V;i++){q((1J 4Y(1c)).11(1m[i].1c)){E 1m[i]}}E I},8b:C(s){s=s.2k(/\\s/g,\' \');A 2m=/{m\\.18\\.([^}]+)\\}/g,6v=s.3b(2m),18;q(6v)O(A i=0;i<6v.V;i++){18=6v[i].2k(2m,"$1");q(1F m.18[18]!=\'1L\')s=s.2k(6v[i],m.18[18])}E s},c1:C(){A 1m=W.2C(\'a\');O(A i=0;i<1m.V;i++){A T=m.aH(1m[i]);q(T&&!1m[i].aI){(C(){A t=T;q(m.1A(m,\'ek\',{7y:1m[i],T:t})){1m[i].2p=(T==\'2R\')?C(){E m.2F(k)}:C(){E m.9u(k,{2I:t})}}})();1m[i].aI=M}}m.6p()},aH:C(el){q(el.7b==\'K\')E\'2R\';J q(el.7b==\'K-2W\')E\'2W\';J q(el.7b==\'K-1k\')E\'1k\';J q(el.7b==\'K-3x\')E\'3x\'},86:C(a){O(A i=0;i<m.5a.V;i++){q(m.5a[i][0]==a){A c=m.5a[i][1];m.5a[i][1]=c.5J(1);E c}}E I},bI:C(e){A 2a=m.6p();O(A i=0;i<2a.56.V;i++){A a=2a.56[i];q(m.43(a,\'2I\')==\'2W\'&&m.43(a,\'7W\'))m.2o(m.7q,a)}m.8k(0)},8k:C(i){q(!m.7q[i])E;A a=m.7q[i];A 6z=m.4J(m.43(a,\'88\'));q(!6z)6z=m.89();A 2W=1J m.7x(a,6z,1);2W.9z=C(){};2W.3F=C(){m.2o(m.5a,[a,6z]);m.8k(i+1)};2W.9r()},aQ:C(){A 8d=0,7n=-1,16=m.16,B,1B;O(A i=0;i<16.V;i++){B=16[i];q(B){1B=B.U.G.1B;q(1B&&1B>8d){8d=1B;7n=i}}}q(7n==-1)m.3d=-1;J 16[7n].3M()},43:C(a,6b){a.6a=a.2p;A p=a.6a?a.6a():I;a.6a=I;E(p&&1F p[6b]!=\'1L\')?p[6b]:(1F m[6b]!=\'1L\'?m[6b]:I)},7s:C(a){A 1e=m.43(a,\'1e\');q(1e)E 1e;E a.21},4J:C(1v){A 1P=m.$(1v),4q=m.8c[1v],a={};q(!1P&&!4q)E I;q(!4q){4q=1P.5J(M);4q.1v=\'\';m.8c[1v]=4q;E 1P}J{E 4q.5J(M)}},3B:C(d){q(d)m.9y.1X(d);m.9y.2d=\'\'},1u:C(B){q(!m.2v){84=M;m.2v=m.1d(\'P\',{1c:\'K-dc K-2x-D\',5r:\'\',2p:C(){q(m.1A(m,\'d3\'))m.26()}},{1n:\'1Y\',1z:0},m.2b,M);q(/(df|d2|cU|cT)/.11(4A.6d)){A 19=W.19;C 81(){m.R(m.2v,{L:19.cR+\'F\',N:19.cV+\'F\'})}81();m.2j(1S,\'3O\',81)}}m.2v.G.1o=\'\';A 84=m.2v.5r==\'\';m.2v.5r+=\'|\'+B.Q;q(84){q(m.6y&&m.aR)m.R(m.2v,{9t:\'7T(\'+m.5c+\'d0.ak)\',1z:1});J m.2z(m.2v,{1z:B.4b},m.87)}},9x:C(Q){q(!m.2v)E;q(1F Q!=\'1L\')m.2v.5r=m.2v.5r.2k(\'|\'+Q,\'\');q((1F Q!=\'1L\'&&m.2v.5r!=\'\')||(m.2q&&m.43(m.2q,\'4b\')))E;q(m.6y&&m.aR)m.2v.G.1o=\'1E\';J m.2z(m.2v,{1z:0},m.87,I,C(){m.2v.G.1o=\'1E\'})},8N:C(7z,B){A 1i=B||m.2G();B=1i;q(m.2q)E 1j;J m.1i=1i;m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{m.2q=7z;7z.2p()}1y(e){m.1i=m.2q=I}1t{q(!7z||B.3q[1]!=\'4e\')B.26()}1y(e){}E 1j},7O:C(el,2n){A B=m.2G(el);q(B)E m.8N(B.7V(2n),B);J E 1j},3a:C(el){E m.7O(el,-1)},1D:C(el){E m.7O(el,1)},68:C(e){q(!e)e=1S.2u;q(!e.2L)e.2L=e.9k;q(1F e.2L.9j!=\'1L\')E M;q(!m.1A(m,\'dz\',e))E M;A B=m.2G();A 2n=I;b6(e.dy){2c 70:q(B)B.7r();E M;2c 32:2n=2;5m;2c 34:2c 39:2c 40:2n=1;5m;2c 8:2c 33:2c 37:2c 38:2n=-1;5m;2c 27:2c 13:2n=0}q(2n!==I){q(2n!=2)m.4z(W,1S.3z?\'6U\':\'71\',m.68);q(!m.aS)E M;q(e.5n)e.5n();J e.c0=1j;q(B){q(2n==0){B.26()}J q(2n==2){q(B.1p)B.1p.cl()}J{q(B.1p)B.1p.3p();m.7O(B.Q,2n)}E 1j}}E M},du:C(14){m.2o(m.1T,m.3A(14,{22:\'22\'+m.61++}))},dt:C(1r){A 3c=1r.2N;q(1F 3c==\'7j\'){O(A i=0;i<3c.V;i++){A o={};O(A x 2Y 1r)o[x]=1r[x];o.2N=3c[i];m.2o(m.6u,o)}}J{m.2o(m.6u,1r)}},9U:C(7y,7h){A el,2m=/^K-U-([0-9]+)$/;el=7y;5g(el.23){q(el.6R!==1L)E el.6R;q(el.1v&&2m.11(el.1v))E el.1v.2k(2m,"$1");el=el.23}q(!7h){el=7y;5g(el.23){q(el.3J&&m.77(el)){O(A Q=0;Q<m.16.V;Q++){A B=m.16[Q];q(B&&B.a==el)E Q}}el=el.23}}E I},2G:C(el,7h){q(1F el==\'1L\')E m.16[m.3d]||I;q(1F el==\'3G\')E m.16[el]||I;q(1F el==\'a8\')el=m.$(el);E m.16[m.9U(el,7h)]||I},77:C(a){E(a.2p&&a.2p.cC().2k(/\\s/g,\' \').3b(/m.(dj|e)dh/))},bw:C(){O(A i=0;i<m.16.V;i++)q(m.16[i]&&m.16[i].55)m.aQ()},1A:C(6i,9K,2H){E 6i&&6i[9K]?(6i[9K](6i,2H)!==1j):M},8z:C(e){q(!e)e=1S.2u;q(e.ds>1)E M;q(!e.2L)e.2L=e.9k;A el=e.2L;5g(el.23&&!(/K-(2R|3u|3D|3O)/.11(el.1c))){el=el.23}A B=m.2G(el);q(B&&(B.62||!B.55))E M;q(B&&e.T==\'8y\'){q(e.2L.9j)E M;A 3b=el.1c.3b(/K-(2R|3u|3O)/);q(3b){m.2y={B:B,T:3b[1],1b:B.x.H,L:B.x.D,Y:B.y.H,N:B.y.D,aV:e.7A,aO:e.7F};m.2j(W,\'7D\',m.6H);q(e.5n)e.5n();q(/K-(2R|3D)-9J/.11(B.S.1c)){B.3M();m.a6=M}E 1j}J q(/K-3D/.11(el.1c)&&m.3d!=B.Q){B.3M();B.59(\'1q\')}}J q(e.T==\'c3\'){m.4z(W,\'7D\',m.6H);q(m.2y){q(m.54&&m.2y.T==\'2R\')m.2y.B.S.G.4L=m.54;A 3I=m.2y.3I;q(!3I&&!m.a6&&!/(3u|3O)/.11(m.2y.T)){q(m.1A(B,\'dr\'))B.26()}J q(3I||(!3I&&m.aU)){m.2y.B.59(\'1q\')}q(m.2y.B.3W)m.2y.B.3W.G.1o=\'1E\';q(3I)m.1A(m.2y.B,\'do\',m.2y);m.a6=1j;m.2y=I}J q(/K-2R-9J/.11(el.1c)){el.G.4L=m.54}}E 1j},6H:C(e){q(!m.2y)E M;q(!e)e=1S.2u;A a=m.2y,B=a.B;q(B.1k){q(!B.3W)B.3W=m.1d(\'P\',I,{1l:\'2l\',L:B.x.D+\'F\',N:B.y.D+\'F\',1b:B.x.cb+\'F\',Y:B.y.cb+\'F\',1B:4,9t:(m.3R?\'eB\':\'1E\'),1z:0.eU},B.U,M);q(B.3W.G.1o==\'1E\')B.3W.G.1o=\'\'}a.dX=e.7A-a.aV;a.dY=e.7F-a.aO;A 9g=1h.fG(1h.aE(a.dX,2)+1h.aE(a.dY,2));q(!a.3I)a.3I=(a.T!=\'2R\'&&9g>0)||(9g>(m.fK||5));q(a.3I&&e.7A>5&&e.7F>5){q(!m.1A(B,\'fN\',a))E 1j;q(a.T==\'3O\')B.3O(a);J{B.9m(a.1b+a.dX,a.Y+a.dY);q(a.T==\'2R\')B.S.G.4L=\'3u\'}}E 1j},aP:C(e){1t{q(!e)e=1S.2u;A 66=/fM/i.11(e.T);q(!e.2L)e.2L=e.9k;q(!e.7P)e.7P=66?e.fE:e.fD;A B=m.2G(e.2L);q(!B.55)E;q(!B||!e.7P||m.2G(e.7P,M)==B||m.2y)E;m.1A(B,66?\'ft\':\'fr\',e);O(A i=0;i<B.1T.V;i++)(C(){A o=m.$(\'22\'+B.1T[i]);q(o&&o.7d){q(66)m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:66?o.1z:0},o.4i)}})()}1y(e){}},2j:C(el,2u,3Q){q(el==W&&2u==\'41\'){m.2o(m.7l,3Q)}1t{el.2j(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q);el.fy(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=3Q}}},4z:C(el,2u,3Q){1t{el.4z(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=I}}},7C:C(i){q(m.a1&&m.64[i]&&m.64[i]!=\'1L\'){A 1N=W.1d(\'1N\');1N.4N=C(){1N=I;m.7C(i+1)};1N.1e=m.64[i]}},c2:C(3G){q(3G&&1F 3G!=\'7j\')m.9f=3G;A 2a=m.6p();O(A i=0;i<2a.4Z.V&&i<m.9f;i++){m.2o(m.64,m.7s(2a.4Z[i]))}q(m.1Z)1J m.6r(m.1Z,C(){m.7C(0)});J m.7C(0);q(m.6h)A 5q=m.1d(\'1N\',{1e:m.5c+m.6h})},7m:C(){q(!m.2b){m.3Z=m.2h&&m.2t<7;m.3R=m.2h&&m.2t<9;m.7S();m.cf=m.3Z&&85.g5==\'g4:\';O(A x 2Y m.7o){q(1F m[x]!=\'1L\')m.18[x]=m[x];J q(1F m.18[x]==\'1L\'&&1F m.7o[x]!=\'1L\')m.18[x]=m.7o[x]}m.2b=m.1d(\'P\',{1c:\'K-2b\'},{1l:\'2l\',1b:0,Y:0,L:\'2w%\',1B:m.4F,9S:\'aK\'},W.19,M);m.2r=m.1d(\'a\',{1c:\'K-2r\',24:m.18.aY,2d:m.18.aZ,21:\'bt:;\'},{1l:\'2l\',Y:\'-4v\',1z:m.be,1B:1},m.2b);m.9y=m.1d(\'P\',I,{1o:\'1E\'},m.2b);m.2x=m.1d(\'P\',{1c:\'K-2x K-2x-D\'},{1n:(m.4M&&m.2t<73)?\'1Y\':\'1q\'},m.2b,1);m.3w=m.1d(\'P\',I,{aJ:\'bc\',g9:\'ga\'},I,M);1h.g2=C(t,b,c,d){E c*t/d+b};1h.bj=C(t,b,c,d){E c*(t/=d)*t+b};1h.8S=C(t,b,c,d){E-c*(t/=d)*(t-2)+b};m.cO=m.3Z;m.cQ=((1S.3z&&m.2t<9)||4A.av==\'at\'||(m.3Z&&m.2t<5.5));m.1A(k,\'fU\')}},41:C(){q(m.9F)E;m.9F=M;O(A i=0;i<m.7l.V;i++)m.7l[i]()},95:C(){A el,1m,6q=[],4Z=[],56=[],3i={},2m;O(A i=0;i<m.9w.V;i++){1m=W.2C(m.9w[i]);O(A j=0;j<1m.V;j++){el=1m[j];2m=m.77(el);q(2m){m.2o(6q,el);q(2m[0]==\'m.2F\')m.2o(4Z,el);J q(2m[0]==\'m.9u\')m.2o(56,el);A g=m.43(el,\'2N\')||\'1E\';q(!3i[g])3i[g]=[];m.2o(3i[g],el)}}}m.4U={6q:6q,3i:3i,4Z:4Z,56:56};E m.4U},6p:C(){E m.4U||m.95()},26:C(el){A B=m.2G(el);q(B)B.26();E 1j}};m.fx=C(30,1r,1f){k.1r=1r;k.30=30;k.1f=1f;q(!1r.b7)1r.b7={}};m.fx.5w={82:C(){(m.fx.3P[k.1f]||m.fx.3P.ap)(k);q(k.1r.3P)k.1r.3P.ax(k.30,k.4o,k)},3E:C(8u,2i,4w){k.9c=(1J 7K()).79();k.4T=8u;k.51=2i;k.4w=4w;k.4o=k.4T;k.H=k.96=0;A 7c=k;C t(7i){E 7c.3P(7i)}t.30=k.30;q(t()&&m.4m.2o(t)==1){m.af=fX(C(){A 4m=m.4m;O(A i=0;i<4m.V;i++)q(!4m[i]())4m.gd(i--,1);q(!4m.V){eT(m.af)}},13)}},3P:C(7i){A t=(1J 7K()).79();q(7i||t>=k.1r.4h+k.9c){k.4o=k.51;k.H=k.96=1;k.82();k.1r.7g[k.1f]=M;A 9s=M;O(A i 2Y k.1r.7g)q(k.1r.7g[i]!==M)9s=1j;q(9s){q(k.1r.76)k.1r.76.ax(k.30)}E 1j}J{A n=t-k.9c;k.96=n/k.1r.4h;k.H=k.1r.2Q(n,0,1,k.1r.4h);k.4o=k.4T+((k.51-k.4T)*k.H);k.82()}E M}};m.3A(m.fx,{3P:{1z:C(fx){m.R(fx.30,{1z:fx.4o})},ap:C(fx){1t{q(fx.30.G&&fx.30.G[fx.1f]!=I)fx.30.G[fx.1f]=fx.4o+fx.4w;J fx.30[fx.1f]=fx.4o}1y(e){}}}});m.6r=C(1Z,3F){k.3F=3F;k.1Z=1Z;A v=m.2t,47;k.9G=m.2h&&m.2t<7;q(!1Z){q(3F)3F();E}m.7m();k.2g=m.1d(\'2g\',{eJ:0},{1n:\'1q\',1l:\'2l\',eN:\'eM\',L:0},m.2b,M);A 4G=m.1d(\'4G\',I,I,k.2g,1);k.2J=[];O(A i=0;i<=8;i++){q(i%3==0)47=m.1d(\'47\',I,{N:\'1M\'},4G,M);k.2J[i]=m.1d(\'2J\',I,I,47,M);A G=i!=4?{eL:0,eK:0}:{1l:\'4y\'};m.R(k.2J[i],G)}k.2J[4].1c=1Z+\' K-1g\';k.ai()};m.6r.5w={ai:C(){A 1e=m.5c+(m.f1||"fi/")+k.1Z+".ak";A ar=m.4M&&m.2t<73?m.2b:I;k.3V=m.1d(\'1N\',I,{1l:\'2l\',Y:\'-4v\'},ar,M);A 3v=k;k.3V.4N=C(){3v.az()};k.3V.1e=1e},az:C(){A o=k.1w=k.3V.L/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1u={N:(2*o)+\'F\',L:(2*o)+\'F\'};O(A i=0;i<=8;i++){q(H[i]){q(k.9G){A w=(i==1||i==7)?\'2w%\':k.3V.L+\'F\';A P=m.1d(\'P\',I,{L:\'2w%\',N:\'2w%\',1l:\'4y\',2e:\'1q\'},k.2J[i],M);m.1d(\'P\',I,{5Q:"fo:fn.bv.fm(fl=fe, 1e=\'"+k.3V.1e+"\')",1l:\'2l\',L:w,N:k.3V.N+\'F\',1b:(H[i][0]*o)+\'F\',Y:(H[i][1]*o)+\'F\'},P,M)}J{m.R(k.2J[i],{9t:\'7T(\'+k.3V.1e+\') \'+(H[i][0]*o)+\'F \'+(H[i][1]*o)+\'F\'})}q(1S.3z&&(i==3||i==5))m.1d(\'P\',I,1u,k.2J[i],M);m.R(k.2J[i],1u)}}k.3V=I;q(m.4n[k.1Z])m.4n[k.1Z].5U();m.4n[k.1Z]=k;q(k.3F)k.3F()},4C:C(H,1w,aB,4i,2Q){A B=k.B,5X=B.U.G,1w=1w||0,H=H||{x:B.x.H+1w,y:B.y.H+1w,w:B.x.Z(\'2f\')-2*1w,h:B.y.Z(\'2f\')-2*1w};q(aB)k.2g.G.1n=(H.h>=4*k.1w)?\'1Y\':\'1q\';m.R(k.2g,{1b:(H.x-k.1w)+\'F\',Y:(H.y-k.1w)+\'F\',L:(H.w+2*k.1w)+\'F\'});H.w-=2*k.1w;H.h-=2*k.1w;m.R(k.2J[4],{L:H.w>=0?H.w+\'F\':0,N:H.h>=0?H.h+\'F\':0});q(k.9G)k.2J[3].G.N=k.2J[5].G.N=k.2J[4].G.N},5U:C(bk){q(bk)k.2g.G.1n=\'1q\';J m.3B(k.2g)}};m.6A=C(B,1u){k.B=B;k.1u=1u;k.3l=1u==\'x\'?\'bY\':\'bW\';k.3k=k.3l.5G();k.6m=1u==\'x\'?\'cj\':\'c8\';k.6Y=k.6m.5G();k.9L=1u==\'x\'?\'c7\':\'bX\';k.b5=k.9L.5G();k.1G=k.36=0};m.6A.5w={Z:C(Q){b6(Q){2c\'9T\':E k.1K+k.3s+(k.t-m.2r[\'1w\'+k.3l])/2;2c\'9v\':E k.H+k.cb+k.1G+(k.D-m.2r[\'1w\'+k.3l])/2;2c\'2f\':E k.D+2*k.cb+k.1G+k.36;2c\'5e\':E k.4K-k.3o-k.4S;2c\'8D\':E k.Z(\'5e\')-2*k.cb-k.1G-k.36;2c\'6e\':E k.H-(k.B.1g?k.B.1g.1w:0);2c\'9R\':E k.Z(\'2f\')+(k.B.1g?2*k.B.1g.1w:0);2c\'2K\':E k.1V?1h.3e((k.D-k.1V)/2):0}},8a:C(){k.cb=(k.B.S[\'1w\'+k.3l]-k.t)/2;k.4S=m[\'9D\'+k.9L]},9M:C(){k.t=k.B.el[k.3k]?3H(k.B.el[k.3k]):k.B.el[\'1w\'+k.3l];k.1K=k.B.1K[k.1u];k.3s=(k.B.el[\'1w\'+k.3l]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.4g[k.3k]/2)+m.4g[\'28\'+k.6m]}},8h:C(){A B=k.B;k.2T=\'1M\';q(B.9n==\'4X\')k.2T=\'4X\';J q(1J 4Y(k.6Y).11(B.46))k.2T=I;J q(1J 4Y(k.b5).11(B.46))k.2T=\'4t\';k.H=k.1K-k.cb+k.3s;q(k.9i&&k.1u==\'x\')B.6M=1h.31(B.6M||k.1a,B.9i*k.1a/B.y.1a);k.D=1h.31(k.1a,B[\'4t\'+k.3l]||k.1a);k.2U=B.5Y?1h.31(B[\'31\'+k.3l],k.1a):k.1a;q(B.2E&&B.3t){k.D=B[k.3k];k.1V=k.1a}q(k.1u==\'x\'&&m.5S)k.2U=B.4s;k.2L=B[\'2L\'+k.1u.bi()];k.3o=m[\'9D\'+k.6m];k.28=m.4g[\'28\'+k.6m];k.4K=m.4g[k.3k]},72:C(i){A B=k.B;q(B.2E&&(B.3t||m.5S)){k.1V=i;k.D=1h.4t(k.D,k.1V);B.S.G[k.6Y]=k.Z(\'2K\')+\'F\'}J k.D=i;B.S.G[k.3k]=i+\'F\';B.U.G[k.3k]=k.Z(\'2f\')+\'F\';q(B.1g)B.1g.4C();q(B.3W)B.3W.G[k.3k]=i+\'F\';q(k.1u==\'y\'&&B.5C&&B.19.G.N!=\'1M\')1t{B.5C.19.G.2e=\'1M\'}1y(e){}q(B.2A){A d=B.2s;q(k.9e===1L)k.9e=B.1s[\'1w\'+k.3l]-d[\'1w\'+k.3l];d.G[k.3k]=(k.D-k.9e)+\'F\';q(k.1u==\'x\')B.4c.G.L=\'1M\';q(B.19)B.19.G[k.3k]=\'1M\'}q(k.1u==\'x\'&&B.1x)B.57(M);q(k.1u==\'x\'&&B.1p&&B.2E){q(i==k.1a)B.1p.5d(\'1a-2F\');J B.1p.4u(\'1a-2F\')}},aa:C(i){k.H=i;k.B.U.G[k.6Y]=i+\'F\';q(k.B.1g)k.B.1g.4C()}};m.5A=C(a,29,3E,35){q(W.bS&&m.2h&&!m.9F){m.2j(W,\'41\',C(){1J m.5A(a,29,3E,35)});E}k.a=a;k.3E=3E;k.35=35||\'2R\';k.2A=(35==\'3D\');k.2E=!k.2A;m.a1=1j;k.1T=[];k.1i=m.1i;m.1i=I;m.7m();A Q=k.Q=m.16.V;O(A i=0;i<m.a4.V;i++){A 2Z=m.a4[i];k[2Z]=29&&1F 29[2Z]!=\'1L\'?29[2Z]:m[2Z]}q(!k.1e)k.1e=a.21;A el=(29&&29.9P)?m.$(29.9P):a;el=k.aW=el.2C(\'1N\')[0]||el;k.6Q=el.1v||a.1v;q(!m.1A(k,\'f3\'))E M;O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].a==a&&!(k.1i&&k.3q[1]==\'4e\')){m.16[i].3M();E 1j}}q(!m.f5)O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].aW!=el&&!m.16[i].6D){m.16[i].6P()}}m.16[Q]=k;q(!m.9l&&!m.2q){q(m.16[Q-1])m.16[Q-1].26();q(1F m.3d!=\'1L\'&&m.16[m.3d])m.16[m.3d].26()}k.el=el;k.1K=k.aX||m.6K(el);m.7S();A x=k.x=1J m.6A(k,\'x\');x.9M();A y=k.y=1J m.6A(k,\'y\');y.9M();q(/5v/i.11(el.3J))k.b8(el);k.U=m.1d(\'P\',{1v:\'K-U-\'+k.Q,1c:\'K-U \'+k.a9},{1n:\'1q\',1l:\'2l\',1B:m.4F+=2},I,M);k.U.eX=k.U.eS=m.aP;q(k.35==\'2R\'&&k.3Y==2)k.3Y=0;q(!k.1Z||(k.1i&&k.2E&&k.3q[1]==\'4e\')){k[k.35+\'9H\']()}J q(m.4n[k.1Z]){k.9I();k[k.35+\'9H\']()}J{k.6n();A B=k;1J m.6r(k.1Z,C(){B.9I();B[B.35+\'9H\']()})}E M};m.5A.5w={9o:C(e){q(m.g8)dq(\'dk \'+e.dl+\': \'+e.dD);J 1S.85.21=k.1e},9I:C(){A 1g=k.1g=m.4n[k.1Z];1g.B=k;1g.2g.G.1B=k.U.G.1B-1;m.4n[k.1Z]=I},6n:C(){q(k.6D||k.2r)E;k.2r=m.2r;A B=k;k.2r.2p=C(){B.6P()};q(!m.1A(k,\'d5\'))E;A B=k,l=k.x.Z(\'9T\')+\'F\',t=k.y.Z(\'9T\')+\'F\';q(!2P&&k.1i&&k.3q[1]==\'4e\')A 2P=k.1i;q(2P){l=2P.x.Z(\'9v\')+\'F\';t=2P.y.Z(\'9v\')+\'F\';k.2r.G.1B=m.4F++}4a(C(){q(B.2r)m.R(B.2r,{1b:l,Y:t,1B:m.4F++})},2w)},ey:C(){A B=k;A 1N=W.1d(\'1N\');k.S=1N;1N.4N=C(){q(m.16[B.Q])B.69()};q(m.e3)1N.dp=C(){E 1j};1N.1c=\'K-2R\';m.R(1N,{1n:\'1q\',1o:\'3X\',1l:\'2l\',6M:\'4v\',1B:3});1N.24=m.18.9W;q(m.4M&&m.2t<73)m.2b.1X(1N);q(m.2h&&m.dH)1N.1e=I;1N.1e=k.1e;k.6n()},d4:C(){q(!m.1A(k,\'da\'))E;k.S=m.86(k.a);q(!k.S)k.S=m.4J(k.88);q(!k.S)k.S=m.89();k.a2([\'6C\']);q(k.6C){A 19=m.4p(k.S,\'P\',\'K-19\');q(19)19.1X(k.6C);k.6C.G.1o=\'3X\'}m.1A(k,\'fp\');A 1s=k.1s=k.S;q(/(3x|1k)/.11(k.2I))k.91(1s);m.2b.1X(k.U);m.R(k.U,{1l:\'fa\',94:\'0 \'+m.9B+\'F 0 \'+m.4W+\'F\'});k.S=m.1d(\'P\',{1c:\'K-3D\'},{1l:\'4y\',1B:3,N:0,2e:\'1q\'},k.U);k.4c=m.1d(\'P\',I,I,k.S,1);k.4c.1X(1s);m.R(1s,{1l:\'4y\',1o:\'3X\',9S:m.18.97||\'\'});q(k.L)1s.G.L=k.L+\'F\';q(k.N)m.R(1s,{N:k.N+\'F\',2e:\'1q\'});q(1s.1O<k.4s)1s.G.L=k.4s+\'F\';q(k.2I==\'2W\'&&!m.86(k.a)){k.6n();A B=k;A 2W=1J m.7x(k.a,1s);2W.1e=k.1e;2W.3F=C(){q(m.16[B.Q])B.69()};2W.9z=C(){85.21=B.1e};2W.9r()}J q(k.2I==\'1k\'&&k.3U==\'60\'){k.6T()}J k.69()},69:C(){1t{q(!k.S)E;k.S.4N=I;q(k.6D)E;J k.6D=M;A x=k.x,y=k.y;q(k.2r){m.R(k.2r,{Y:\'-4v\'});k.2r=I;m.1A(k,\'cu\')}q(k.2E){x.1a=k.S.L;y.1a=k.S.N;m.R(k.S,{L:x.t+\'F\',N:y.t+\'F\'});k.U.1X(k.S);m.2b.1X(k.U)}J q(k.7Z)k.7Z();x.8a();y.8a();m.R(k.U,{1b:(x.1K+x.3s-x.cb)+\'F\',Y:(y.1K+x.3s-y.cb)+\'F\'});k.a0();k.bB();A 2M=x.1a/y.1a;x.8h();k.2T(x);y.8h();k.2T(y);q(k.2A)k.b4();q(k.1x)k.57(0,1);q(k.5Y){q(k.2E)k.cG(2M);J k.8x();A 1R=k.1p;q(1R&&k.1i&&1R.2X&&1R.aT){A H=1R.cB.1l||\'\',p;O(A 1u 2Y m.8g)O(A i=0;i<5;i++){p=k[1u];q(H.3b(m.8g[1u][i])){p.H=k.1i[1u].H+(k.1i[1u].1G-p.1G)+(k.1i[1u].D-p.D)*[0,0,.5,1,1][i];q(1R.aT==\'f0\'){q(p.H+p.D+p.1G+p.36>p.28+p.4K-p.4S)p.H=p.28+p.4K-p.D-p.3o-p.4S-p.1G-p.36;q(p.H<p.28+p.3o)p.H=p.28+p.3o}}}}q(k.2E&&k.x.1a>(k.x.1V||k.x.D)){k.bs();q(k.1T.V==1)k.57()}}k.a5()}1y(e){k.9o(e)}},91:C(6c,1M){A c=m.4p(6c,\'7J\',\'K-19\');q(/(1k|3x)/.11(k.2I)){q(k.4j)c.G.L=k.4j+\'F\';q(k.4x)c.G.N=k.4x+\'F\'}},6T:C(){q(k.aD)E;A B=k;k.19=m.4p(k.1s,\'7J\',\'K-19\');q(k.2I==\'1k\'){k.6n();A 5o=m.3w.5J(1);k.19.1X(5o);k.eP=k.1s.1O;q(!k.4j)k.4j=5o.1O;A 5b=k.1s.1U-k.19.1U,h=k.4x||m.4g.N-5b-m.4d-m.6L,4N=k.3U==\'60\'?\' 4N="q (m.16[\'+k.Q+\']) m.16[\'+k.Q+\'].69()" \':\'\';k.19.2d+=\'<1k 2Z="m\'+(1J 7K()).79()+\'" eQ="0" Q="\'+k.Q+\'" \'+\' G="L:\'+k.4j+\'F; N:\'+h+\'F" \'+4N+\' 1e="\'+k.1e+\'" ></1k>\';k.5o=k.19.2C(\'P\')[0];k.1k=k.19.2C(\'1k\')[0];q(k.3U==\'6x\')k.8A()}q(k.2I==\'3x\'){k.19.1v=k.19.1v||\'m-fY-1v-\'+k.Q;A a=k.8e;q(!a.29)a.29={};q(1F a.29.aN==\'1L\')a.29.aN=\'fR\';q(9p)9p.fT(k.1e,k.19.1v,k.4j,k.4x,a.g1||\'7\',a.gb,a.aG,a.29,a.aF)}k.aD=M},7Z:C(){q(k.1k&&!k.4x){k.1k.G.N=k.19.G.N=k.8p()+\'F\'}k.1s.1X(m.3w);q(!k.x.1a)k.x.1a=k.1s.1O;k.y.1a=k.1s.1U;k.1s.9q(m.3w);q(m.2h&&k.aL>3H(k.1s.5y.N)){k.aL=3H(k.1s.5y.N)}m.R(k.U,{1l:\'2l\',94:\'0\'});m.R(k.S,{L:k.x.t+\'F\',N:k.y.t+\'F\'})},8p:C(){A h;1t{A 2B=k.5C=k.1k.9O||k.1k.6g.W;A 3w=2B.1d(\'P\');3w.G.aJ=\'bc\';2B.19.1X(3w);h=3w.8O;q(m.2h)h+=3H(2B.19.5y.4d)+3H(2B.19.5y.6L)-1}1y(e){h=de}E h},8A:C(){A 5i=k.1s.1O-k.5o.1O;m.3B(k.5o);q(5i<0)5i=0;A 5b=k.1s.1U-k.1k.1U;q(k.5C&&!k.4x&&!k.N&&k.y.D==k.y.1a)1t{k.5C.19.G.2e=\'1q\'}1y(e){}m.R(k.1k,{L:1h.9Y(k.x.D-5i)+\'F\',N:1h.9Y(k.y.D-5b)+\'F\'});m.R(k.19,{L:k.1k.G.L,N:k.1k.G.N});k.52=k.1k;k.2s=k.52},b4:C(){k.91(k.1s);q(k.2I==\'3x\'&&k.3U==\'60\')k.6T();q(k.x.D<k.x.1a&&!k.6J)k.x.D=k.x.1a;q(k.y.D<k.y.1a&&!k.6X)k.y.D=k.y.1a;k.2s=k.1s;m.R(k.4c,{1l:\'4y\',L:k.x.D+\'F\'});m.R(k.1s,{8H:\'1E\',L:\'1M\',N:\'1M\'});A 1P=m.4p(k.1s,\'7J\',\'K-19\');q(1P&&!/(1k|3x)/.11(k.2I)){A 5f=1P;1P=m.1d(5f.d8,I,{2e:\'1q\'},I,M);5f.23.dG(1P,5f);1P.1X(m.3w);1P.1X(5f);A 5i=k.1s.1O-1P.1O;A 5b=k.1s.1U-1P.1U;1P.9q(m.3w);A 6E=m.4M||4A.av==\'at\'?1:0;m.R(1P,{L:(k.x.D-5i-6E)+\'F\',N:(k.y.D-5b)+\'F\',2e:\'1M\',1l:\'4y\'});q(6E&&5f.1U>1P.1U){1P.G.L=(3H(1P.G.L)+6E)+\'F\'}k.52=1P;k.2s=k.52}q(k.1k&&k.3U==\'60\')k.8A();q(!k.52&&k.y.D<k.4c.1U)k.2s=k.S;q(k.2s==k.S&&!k.6J&&!/(1k|3x)/.11(k.2I)){k.x.D+=17}q(k.2s&&k.2s.1U>k.2s.23.1U){4a("1t { m.16["+k.Q+"].2s.G.2e = \'1M\'; } 1y(e) {}",m.6W)}},b8:C(5v){A c=5v.fC.7G(\',\');O(A i=0;i<c.V;i++)c[i]=3H(c[i]);q(5v.ff.5G()==\'eI\'){k.x.1K+=c[0]-c[2];k.y.1K+=c[1]-c[2];k.x.t=k.y.t=2*c[2]}J{A 5H,5z,5x=5H=c[0],5B=5z=c[1];O(A i=0;i<c.V;i++){q(i%2==0){5x=1h.31(5x,c[i]);5H=1h.4t(5H,c[i])}J{5B=1h.31(5B,c[i]);5z=1h.4t(5z,c[i])}}k.x.1K+=5x;k.x.t=5H-5x;k.y.1K+=5B;k.y.t=5z-5B}},2T:C(p,5u){A 4H,2P=p.2L,1u=p==k.x?\'x\':\'y\';q(2P&&2P.3b(/ /)){4H=2P.7G(\' \');2P=4H[0]}q(2P&&m.$(2P)){p.H=m.6K(m.$(2P))[1u];q(4H&&4H[1]&&4H[1].3b(/^[-]?[0-9]+F$/))p.H+=3H(4H[1]);q(p.D<p.2U)p.D=p.2U}J q(p.2T==\'1M\'||p.2T==\'4X\'){A 8C=1j;A 5s=p.B.5Y;q(p.2T==\'4X\')p.H=1h.3e(p.28+(p.4K+p.3o-p.4S-p.Z(\'2f\'))/2);J p.H=1h.3e(p.H-((p.Z(\'2f\')-p.t)/2));q(p.H<p.28+p.3o){p.H=p.28+p.3o;8C=M}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}q(p.H+p.Z(\'2f\')>p.28+p.4K-p.4S){q(!5u&&8C&&5s){p.D=1h.31(p.D,p.Z(1u==\'y\'?\'5e\':\'8D\'))}J q(p.Z(\'2f\')<p.Z(\'5e\')){p.H=p.28+p.4K-p.4S-p.Z(\'2f\')}J{p.H=p.28+p.3o;q(!5u&&5s)p.D=p.Z(1u==\'y\'?\'5e\':\'8D\')}}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}}J q(p.2T==\'4t\'){p.H=1h.dm(p.H-p.D+p.t)}q(p.H<p.3o){A cH=p.H;p.H=p.3o;q(5s&&!5u)p.D=p.D-(p.H-cH)}},cG:C(2M){A x=k.x,y=k.y,3T=1j,3f=1h.31(x.1a,x.D),3y=1h.31(y.1a,y.D),3t=(k.3t||m.5S);q(3f/3y>2M){ 3f=3y*2M;q(3f<x.2U){3f=x.2U;3y=3f/2M}3T=M}J q(3f/3y<2M){ 3y=3f/2M;3T=M}q(m.5S&&x.1a<x.2U){x.1V=x.1a;y.D=y.1V=y.1a}J q(k.3t){x.1V=3f;y.1V=3y}J{x.D=3f;y.D=3y}3T=k.8x(k.3t?I:2M,3T);q(3t&&y.D<y.1V){y.1V=y.D;x.1V=y.D*2M}q(3T||3t){x.H=x.1K-x.cb+x.3s;x.2U=x.D;k.2T(x,M);y.H=y.1K-y.cb+y.3s;y.2U=y.D;k.2T(y,M);q(k.1x)k.57()}},8x:C(2M,3T){A x=k.x,y=k.y;q(k.1x&&(k.2E||k.6X)){5g(y.D>k.6k&&x.D>k.4s&&y.Z(\'2f\')>y.Z(\'5e\')){y.D-=10;q(2M)x.D=y.D*2M;k.57(0,1);3T=M}}E 3T},dS:C(){q(k.2s){A h=/1k/i.11(k.2s.3J)?(k.8p()+1)+\'F\':\'1M\';q(k.19)k.19.G.N=h;k.2s.G.N=h;k.y.72(k.1s.1U)}},a5:C(){A x=k.x,y=k.y;k.59(\'1q\');m.1A(k,\'et\');q(k.1p&&k.1p.2D)k.1p.2D.5t();k.9b(1,{U:{L:x.Z(\'2f\'),N:y.Z(\'2f\'),1b:x.H,Y:y.H},S:{1b:x.1G+x.Z(\'2K\'),Y:y.1G+y.Z(\'2K\'),L:x.1V||x.D,N:y.1V||y.D}},m.6W)},9b:C(1I,2i,4i){A 5M=k.3q,8o=1I?(k.1i?k.1i.a:I):m.2q,t=(5M[1]&&8o&&m.43(8o,\'3q\')[1]==5M[1])?5M[1]:5M[0];q(k[t]&&t!=\'2F\'){k[t](1I,2i);E}q(k.1g&&!k.3Y){q(1I)k.1g.4C();J k.1g.5U((k.2A&&k.4D))}q(!1I)k.78();A B=k,x=B.x,y=B.y,2Q=k.2Q;q(!1I)2Q=k.cF||2Q;A 6x=1I?C(){q(B.1g)B.1g.2g.G.1n="1Y";4a(C(){B.6I()},50)}:C(){B.5D()};q(1I)m.R(k.U,{L:x.t+\'F\',N:y.t+\'F\'});q(1I&&k.2A){m.R(k.U,{1b:(x.1K-x.cb+x.3s)+\'F\',Y:(y.1K-y.cb+y.3s)+\'F\'})}q(k.cD){m.R(k.U,{1z:1I?0:1});m.3A(2i.U,{1z:1I})}m.2z(k.U,2i.U,{4h:4i,2Q:2Q,3P:C(3j,2H){q(B.1g&&B.3Y&&2H.1f==\'Y\'){A 5W=1I?2H.H:1-2H.H;A H={w:x.t+(x.Z(\'2f\')-x.t)*5W,h:y.t+(y.Z(\'2f\')-y.t)*5W,x:x.1K+(x.H-x.1K)*5W,y:y.1K+(y.H-y.1K)*5W};B.1g.4C(H,0,1)}q(B.2A){q(2H.1f==\'1b\')B.4c.G.1b=(x.H-3j)+\'F\';q(2H.1f==\'Y\')B.4c.G.Y=(y.H-3j)+\'F\'}}});m.2z(k.S,2i.S,4i,2Q,6x);q(1I){k.U.G.1n=\'1Y\';k.S.G.1n=\'1Y\';q(k.2A)k.1s.G.1n=\'1Y\';k.a.1c+=\' K-4I-46\'}},6w:C(1I,2i){k.3Y=1j;A B=k,t=1I?m.6W:0;q(1I){m.2z(k.U,2i.U,0);m.R(k.U,{1z:0,1n:\'1Y\'});m.2z(k.S,2i.S,0);k.S.G.1n=\'1Y\';m.2z(k.U,{1z:1},t,I,C(){B.6I()})}q(k.1g){k.1g.2g.G.1B=k.U.G.1B;A 6Z=1I||-1,1w=k.1g.1w,8r=1I?3:1w,8q=1I?1w:3;O(A i=8r;6Z*i<=6Z*8q;i+=6Z,t+=25){(C(){A o=1I?8q-i:8r-i;4a(C(){B.1g.4C(0,o,1)},t)})()}}q(1I){}J{4a(C(){q(B.1g)B.1g.5U(B.4D);B.78();m.2z(B.U,{1z:0},m.9A,I,C(){B.5D()})},t)}},4e:C(1I,2i,8u){q(!1I)E;A B=k,1i=k.1i,x=k.x,y=k.y,3n=1i.x,3g=1i.y,U=k.U,S=k.S,1x=k.1x;m.4z(W,\'7D\',m.6H);m.R(S,{L:(x.1V||x.D)+\'F\',N:(y.1V||y.D)+\'F\'});q(1x)1x.G.2e=\'1Y\';k.1g=1i.1g;q(k.1g)k.1g.B=B;1i.1g=I;A 5l=m.1d(\'P\',{1c:\'K-\'+k.35},{1l:\'2l\',1B:4,2e:\'1q\',1o:\'1E\'});A 8t={cN:1i,cM:k};O(A n 2Y 8t){k[n]=8t[n].S.5J(1);m.R(k[n],{1l:\'2l\',8H:0,1n:\'1Y\'});5l.1X(k[n])}U.1X(5l);q(k.2A)m.R(k.4c,{1b:0,Y:0});q(1x){1x.1c=\'\';U.1X(1x)}5l.G.1o=\'\';1i.S.G.1o=\'1E\';q(m.4M&&m.2t<73){k.U.G.1n=\'1Y\'}m.2z(U,{L:x.D},{4h:m.cE,3P:C(3j,2H){A H=2H.H,4B=1-H;A 1f,D={},93=[\'H\',\'D\',\'1G\',\'36\'];O(A n 2Y 93){1f=93[n];D[\'x\'+1f]=1h.3e(4B*3n[1f]+H*x[1f]);D[\'y\'+1f]=1h.3e(4B*3g[1f]+H*y[1f]);D.cI=1h.3e(4B*(3n.1V||3n.D)+H*(x.1V||x.D));D.6S=1h.3e(4B*3n.Z(\'2K\')+H*x.Z(\'2K\'));D.cJ=1h.3e(4B*(3g.1V||3g.D)+H*(y.1V||y.D));D.6V=1h.3e(4B*3g.Z(\'2K\')+H*y.Z(\'2K\'))}q(B.1g)B.1g.4C({x:D.3h,y:D.3r,w:D.5L+D.44+D.8U+2*x.cb,h:D.5K+D.45+D.8T+2*y.cb});1i.U.G.d7=\'d6(\'+(D.3r-3g.H)+\'F, \'+(D.5L+D.44+D.8U+D.3h+2*3n.cb-3n.H)+\'F, \'+(D.5K+D.45+D.8T+D.3r+2*3g.cb-3g.H)+\'F, \'+(D.3h-3n.H)+\'F)\';m.R(S,{Y:(D.45+y.Z(\'2K\'))+\'F\',1b:(D.44+x.Z(\'2K\'))+\'F\',4d:(y.H-D.3r)+\'F\',4W:(x.H-D.3h)+\'F\'});m.R(U,{Y:D.3r+\'F\',1b:D.3h+\'F\',L:(D.44+D.8U+D.5L+2*x.cb)+\'F\',N:(D.45+D.8T+D.5K+2*y.cb)+\'F\'});m.R(5l,{L:(D.cI||D.5L)+\'F\',N:(D.cJ||D.5K)+\'F\',1b:(D.44+D.6S)+\'F\',Y:(D.45+D.6V)+\'F\',1n:\'1Y\'});m.R(B.cN,{Y:(3g.H-D.3r+3g.1G-D.45+3g.Z(\'2K\')-D.6V)+\'F\',1b:(3n.H-D.3h+3n.1G-D.44+3n.Z(\'2K\')-D.6S)+\'F\'});m.R(B.cM,{1z:H,Y:(y.H-D.3r+y.1G-D.45+y.Z(\'2K\')-D.6V)+\'F\',1b:(x.H-D.3h+x.1G-D.44+x.Z(\'2K\')-D.6S)+\'F\'});q(1x)m.R(1x,{L:D.5L+\'F\',N:D.5K+\'F\',1b:(D.44+x.cb)+\'F\',Y:(D.45+y.cb)+\'F\'})},76:C(){U.G.1n=S.G.1n=\'1Y\';S.G.1o=\'3X\';m.3B(5l);B.6I();1i.5D();B.1i=I}})},bQ:C(o,el){q(!k.1i)E 1j;O(A i=0;i<k.1i.1T.V;i++){A 6G=m.$(\'22\'+k.1i.1T[i]);q(6G&&6G.22==o.22){k.9V();6G.cS=k.Q;m.2o(k.1T,k.1i.1T[i]);E M}}E 1j},6I:C(){k.55=M;k.3M();q(k.2A&&k.3U==\'6x\')k.6T();q(k.1k){1t{A B=k,2B=k.1k.9O||k.1k.6g.W;m.2j(2B,\'8y\',C(){q(m.3d!=B.Q)B.3M()})}1y(e){}q(m.2h&&1F k.62!=\'cW\')k.1k.G.L=(k.4j-1)+\'F\'}q(k.4b)m.1u(k);q(m.2q&&m.2q==k.a)m.2q=I;k.cL();A p=m.4g,8Q=m.7B.x+p.5O,8P=m.7B.y+p.5R;k.9C=k.x.H<8Q&&8Q<k.x.H+k.x.Z(\'2f\')&&k.y.H<8P&&8P<k.y.H+k.y.Z(\'2f\');q(k.1x)k.bn();m.1A(k,\'d1\')},cL:C(){A Q=k.Q;A 1Z=k.1Z;1J m.6r(1Z,C(){1t{m.16[Q].cP()}1y(e){}})},cP:C(){A 1D=k.7V(1);q(1D&&1D.2p.cC().3b(/m\\.2F/))A 1N=m.1d(\'1N\',{1e:m.7s(1D)})},7V:C(2n){A 7U=k.7v(),as=m.4U.3i[k.2N||\'1E\'];q(as&&!as[7U+2n]&&k.1p&&k.1p.cm){q(2n==1)E as[0];J q(2n==-1)E as[as.V-1]}E(as&&as[7U+2n])||I},7v:C(){A 2a=m.6p().3i[k.2N||\'1E\'];q(2a)O(A i=0;i<2a.V;i++){q(2a[i]==k.a)E i}E I},bq:C(){q(k[k.6l]){A 2a=m.4U.3i[k.2N||\'1E\'];q(2a){A s=m.18.3G.2k(\'%1\',k.7v()+1).2k(\'%2\',2a.V);k[k.6l].2d=\'<P 1W="K-3G">\'+s+\'</P>\'+k[k.6l].2d}}},a0:C(){q(!k.1i){O(A i=0;i<m.6u.V;i++){A 1R=m.6u[i],3c=1R.2N;q(1F 3c==\'1L\'||3c===I||3c===k.2N)k.1p=1J m.83(k.Q,1R)}}J{k.1p=k.1i.1p}A 1R=k.1p;q(!1R)E;A Q=1R.4k=k.Q;1R.ch();1R.5d(\'1a-2F\');q(1R.2X){k.4O(m.3A(1R.cB||{},{4P:1R.2X,22:\'2X\',1B:5}))}q(1R.2D)1R.2D.7p(k);q(!k.1i&&k.42)1R.3L(M);q(1R.42){1R.42=4a(C(){m.1D(Q)},(1R.fH||fs))}},6P:C(){m.3B(k.U);m.16[k.Q]=I;q(m.2q==k.a)m.2q=I;m.9x(k.Q);q(k.2r)m.2r.G.1b=\'-4v\';m.1A(k,\'cu\')},bp:C(){q(k.67)E;k.67=m.1d(\'a\',{21:m.ct,2L:m.cs,1c:\'K-67\',2d:m.18.cq,24:m.18.cr});k.4O({4P:k.67,1l:k.cv||\'Y 1b\',22:\'67\'})},a2:C(8f,cy){O(A i=0;i<8f.V;i++){A T=8f[i],s=I;q(T==\'9X\'&&!m.1A(k,\'eH\'))E;J q(T==\'58\'&&!m.1A(k,\'eG\'))E;q(!k[T+\'5p\']&&k.6Q)k[T+\'5p\']=T+\'-O-\'+k.6Q;q(k[T+\'5p\'])k[T]=m.4J(k[T+\'5p\']);q(!k[T]&&!k[T+\'8j\']&&k[T+\'cw\'])1t{s=fh(k[T+\'cw\'])}1y(e){}q(!k[T]&&k[T+\'8j\']){s=k[T+\'8j\']}q(!k[T]&&!s){k[T]=m.4J(k.a[\'cA\'+T+\'5p\']);q(!k[T]){A 1D=k.a.cz;5g(1D&&!m.77(1D)){q((1J 4Y(\'K-\'+T)).11(1D.1c||I)){q(!1D.1v)k.a[\'cA\'+T+\'5p\']=1D.1v=\'22\'+m.61++;k[T]=m.4J(1D.1v);5m}1D=1D.cz}}}q(!k[T]&&!s&&k.6l==T)s=\'\\n\';q(!k[T]&&s)k[T]=m.1d(\'P\',{1c:\'K-\'+T,2d:s});q(cy&&k[T]){A o={1l:(T==\'58\')?\'5N\':\'7E\'};O(A x 2Y k[T+\'cx\'])o[x]=k[T+\'cx\'][x];o.4P=k[T];k.4O(o)}}},59:C(1n){q(m.cO)k.6B(\'fk\',1n);q(m.cQ)k.6B(\'dd\',1n);q(m.6y)k.6B(\'*\',1n)},6B:C(3J,1n){A 1m=W.2C(3J);A 1f=3J==\'*\'?\'2e\':\'1n\';O(A i=0;i<1m.V;i++){q(1f==\'1n\'||(W.8L.cK(1m[i],"").co(\'2e\')==\'1M\'||1m[i].bH(\'1q-by\')!=I)){A 2S=1m[i].bH(\'1q-by\');q(1n==\'1Y\'&&2S){2S=2S.2k(\'[\'+k.Q+\']\',\'\');1m[i].5F(\'1q-by\',2S);q(!2S)1m[i].G[1f]=1m[i].9N}J q(1n==\'1q\'){A 3N=m.6K(1m[i]);3N.w=1m[i].1O;3N.h=1m[i].1U;q(!k.4b){A bl=(3N.x+3N.w<k.x.Z(\'6e\')||3N.x>k.x.Z(\'6e\')+k.x.Z(\'9R\'));A bG=(3N.y+3N.h<k.y.Z(\'6e\')||3N.y>k.y.Z(\'6e\')+k.y.Z(\'9R\'))}A 6F=m.9U(1m[i]);q(!bl&&!bG&&6F!=k.Q){q(!2S){1m[i].5F(\'1q-by\',\'[\'+k.Q+\']\');1m[i].9N=1m[i].G[1f];1m[i].G[1f]=\'1q\'}J q(2S.bF(\'[\'+k.Q+\']\')==-1){1m[i].5F(\'1q-by\',2S+\'[\'+k.Q+\']\')}}J q((2S==\'[\'+k.Q+\']\'||m.3d==6F)&&6F!=k.Q){1m[i].5F(\'1q-by\',\'\');1m[i].G[1f]=1m[i].9N||\'\'}J q(2S&&2S.bF(\'[\'+k.Q+\']\')>-1){1m[i].5F(\'1q-by\',2S.2k(\'[\'+k.Q+\']\',\'\'))}}}}},3M:C(){k.U.G.1B=m.4F+=2;O(A i=0;i<m.16.V;i++){q(m.16[i]&&i==m.3d){A 4r=m.16[i];4r.S.1c+=\' K-\'+4r.35+\'-9J\';q(4r.2E){4r.S.G.4L=m.3Z?\'bE\':\'7Q\';4r.S.24=m.18.bD}m.1A(4r,\'eW\')}}q(k.1g)k.1g.2g.G.1B=k.U.G.1B-1;k.S.1c=\'K-\'+k.35;q(k.2E){k.S.24=m.18.9W;q(m.6h){m.54=1S.3z?\'7Q\':\'7T(\'+m.5c+m.6h+\'), 7Q\';q(m.3Z&&m.2t<6)m.54=\'bE\';k.S.G.4L=m.54}}m.3d=k.Q;m.2j(W,1S.3z?\'6U\':\'71\',m.68);m.1A(k,\'fd\')},9m:C(x,y){k.x.aa(x);k.y.aa(y)},3O:C(e){A w,h,r=e.L/e.N;w=1h.4t(e.L+e.dX,1h.31(k.4s,k.x.1a));q(k.2E&&1h.9Y(w-k.x.1a)<12)w=k.x.1a;h=k.2A?e.N+e.dY:w/r;q(h<1h.31(k.6k,k.y.1a)){h=1h.31(k.6k,k.y.1a);q(k.2E)w=h*r}k.9h(w,h)},9h:C(w,h){k.y.72(h);k.x.72(w);k.U.G.N=k.y.Z(\'2f\')+\'F\'},26:C(){q(k.62||!k.55)E;q(k.3q[1]==\'4e\'&&m.2q){m.2G(m.2q).6P();m.2q=I}q(!m.1A(k,\'eV\'))E;k.62=M;q(k.1p&&!m.2q)k.1p.3p();m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{q(k.2A)k.bJ();k.S.G.4L=\'fj\';k.9b(0,{U:{L:k.x.t,N:k.y.t,1b:k.x.1K-k.x.cb+k.x.3s,Y:k.y.1K-k.y.cb+k.y.3s},S:{1b:0,Y:0,L:k.x.t,N:k.y.t}},m.9A)}1y(e){k.5D()}},bJ:C(){q(m.6y){q(!m.6s)m.6s=m.1d(\'P\',I,{1l:\'2l\'},m.2b);m.R(m.6s,{L:k.x.D+\'F\',N:k.y.D+\'F\',1b:k.x.H+\'F\',Y:k.y.H+\'F\',1o:\'3X\'})}q(k.2I==\'3x\')1t{m.$(k.19.1v).f9()}1y(e){}q(k.3U==\'6x\'&&!k.4D)k.bK();q(k.2s&&k.2s!=k.52)k.2s.G.2e=\'1q\'},bK:C(){q(m.2h&&k.1k)1t{k.1k.6g.W.19.2d=\'\'}1y(e){}q(k.2I==\'3x\')9p.fb(k.19.1v);k.19.2d=\'\'},bx:C(){q(k.1g)k.1g.2g.G.1o=\'1E\';k.3W=I;k.U.G.1o=\'1E\';k.55=1j;m.2o(m.4R,k)},bP:C(){1t{m.16[k.Q]=k;q(!m.9l&&m.3d!=k.Q){1t{m.16[m.3d].26()}1y(e){}}A z=m.4F++,5X={1o:\'\',1B:z};m.R(k.U,5X);k.62=1j;A o=k.1g||0;q(o){q(!k.3Y)5X.1n=\'1q\';m.R(o.2g,5X)}q(k.1p){k.a0()}k.a5()}1y(e){}},4O:C(o){A el=o.4P,53=(o.bO==\'2x\'&&!/7M$/.11(o.1l));q(1F el==\'a8\')el=m.4J(el);q(o.3D)el=m.1d(\'P\',{2d:o.3D});q(!el||1F el==\'a8\')E;q(!m.1A(k,\'f7\',{14:el}))E;el.G.1o=\'3X\';o.22=o.22||o.4P;q(k.3q[1]==\'4e\'&&k.bQ(o,el))E;k.9V();A L=o.L&&/^[0-9]+(F|%)$/.11(o.L)?o.L:\'1M\';q(/^(1b|3m)7M$/.11(o.1l)&&!/^[0-9]+F$/.11(o.L))L=\'f2\';A 14=m.1d(\'P\',{1v:\'22\'+m.61++,22:o.22},{1l:\'2l\',1n:\'1q\',L:L,9S:m.18.97||\'\',1z:0},53?m.2x:k.1x,M);q(53)14.6R=k.Q;14.1X(el);m.3A(14,{1z:1,bN:0,bL:0,4i:(o.6w===0||o.6w===1j||(o.6w==2&&m.2h))?0:5Z});m.3A(14,o);q(k.bo){k.5V(14);q(!14.7d||k.9C)m.2z(14,{1z:14.1z},14.4i)}m.2o(k.1T,m.61-1)},5V:C(14){A p=14.1l||\'9a 4X\',53=(14.bO==\'2x\'),74=14.bN,6O=14.bL;q(53){m.2x.G.1o=\'3X\';14.6R=k.Q;q(14.1O>14.23.1O)14.G.L=\'2w%\'}J q(14.23!=k.1x)k.1x.1X(14);q(/1b$/.11(p))14.G.1b=74+\'F\';q(/4X$/.11(p))m.R(14,{1b:\'50%\',4W:(74-1h.3e(14.1O/2))+\'F\'});q(/3m$/.11(p))14.G.3m=-74+\'F\';q(/^bM$/.11(p)){m.R(14,{3m:\'2w%\',9B:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.1G=14.1O}J q(/^bC$/.11(p)){m.R(14,{1b:\'2w%\',4W:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.36=14.1O}A 9d=14.23.1U;14.G.N=\'1M\';q(53&&14.1U>9d)14.G.N=m.3Z?9d+\'F\':\'2w%\';q(/^Y/.11(p))14.G.Y=6O+\'F\';q(/^9a/.11(p))m.R(14,{Y:\'50%\',4d:(6O-1h.3e(14.1U/2))+\'F\'});q(/^4Q/.11(p))14.G.4Q=-6O+\'F\';q(/^5N$/.11(p)){m.R(14,{1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',4Q:\'2w%\',6L:k.y.cb+\'F\',L:\'1M\'});k.y.1G=14.1U}J q(/^7E$/.11(p)){m.R(14,{1l:\'4y\',1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',Y:\'2w%\',4d:k.y.cb+\'F\',L:\'1M\'});k.y.36=14.1U;14.G.1l=\'2l\'}},bB:C(){k.a2([\'58\',\'9X\'],M);k.bq();q(k.9X)m.1A(k,\'eE\');q(k.58)m.1A(k,\'eF\');q(k.58&&k.a7)k.58.1c+=\' K-3u\';q(m.br)k.bp();O(A i=0;i<m.1T.V;i++){A o=m.1T[i],6N=o.9P,3c=o.2N;q((!6N&&!3c)||(6N&&6N==k.6Q)||(3c&&3c===k.2N)){q(k.2E||(k.2A&&o.eO))k.4O(o)}}A 7I=[];O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(/7M$/.11(o.1l))k.5V(o);J m.2o(7I,o)}O(A i=0;i<7I.V;i++)k.5V(7I[i]);k.bo=M},9V:C(){q(!k.1x)k.1x=m.1d(\'P\',{1c:k.a9},{1l:\'2l\',L:(k.x.D||(k.3t?k.L:I)||k.x.1a)+\'F\',N:(k.y.D||k.y.1a)+\'F\',1n:\'1q\',2e:\'1q\',1B:m.2h?4:\'1M\'},m.2b,M)},57:C(98,bm){A 1x=k.1x,x=k.x,y=k.y;m.R(1x,{L:x.D+\'F\',N:y.D+\'F\'});q(98||bm){O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);A 9E=(m.3Z||W.7a==\'8v\');q(o&&/^(5N|7E)$/.11(o.1l)){q(9E){o.G.L=(1x.1O+2*x.cb+x.1G+x.36)+\'F\'}y[o.1l==\'5N\'?\'1G\':\'36\']=o.1U}q(o&&9E&&/^(1b|3m)7M$/.11(o.1l)){o.G.N=(1x.1U+2*y.cb)+\'F\'}}}q(98){m.R(k.S,{Y:y.1G+\'F\'});m.R(1x,{Y:(y.1G+y.cb)+\'F\'})}},bn:C(){A b=k.1x;b.1c=\'\';m.R(b,{Y:(k.y.1G+k.y.cb)+\'F\',1b:(k.x.1G+k.x.cb)+\'F\',2e:\'1Y\'});q(m.4M)b.G.1n=\'1Y\';k.U.1X(b);O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);o.G.1B=o.1B||4;q(!o.7d||k.9C){o.G.1n=\'1Y\';m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:o.1z},o.4i)}}},78:C(){q(!k.1T.V)E;q(k.1p){A c=k.1p.2X;q(c&&m.2G(c)==k)c.23.9q(c)}O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(o&&o.23==m.2x&&m.2G(o)==k)m.3B(o)}q(k.2A&&k.4D){k.1x.G.Y=\'-4v\';m.2b.1X(k.1x)}J m.3B(k.1x)},bs:C(){q(k.1p&&k.1p.2X){k.1p.4u(\'1a-2F\');E}k.7u=m.1d(\'a\',{21:\'bt:m.16[\'+k.Q+\'].7r();\',24:m.18.9Z,1c:\'K-1a-2F\'});q(!m.1A(k,\'fq\'))E;k.4O({4P:k.7u,1l:m.bz,7d:M,1z:m.bA})},7r:C(){1t{q(!m.1A(k,\'fZ\'))E;q(k.7u)m.3B(k.7u);k.3M();A 3f=k.x.D,3y=k.y.D;k.9h(k.x.1a,k.y.1a);A 3h=k.x.H-(k.x.D-3f)/2;q(3h<m.4W)3h=m.4W;A 3r=k.y.H-(k.y.D-3y)/2;q(3r<m.4d)3r=m.4d;k.9m(3h,3r);k.59(\'1q\')}1y(e){k.9o(e)}},5D:C(){k.a.1c=k.a.1c.2k(\'K-4I-46\',\'\');k.59(\'1Y\');q(k.2A&&k.4D&&k.3q[1]!=\'4e\'){k.bx()}J{q(k.1g&&k.3Y)k.1g.5U();m.3B(k.U)}q(m.6s)m.6s.G.1o=\'1E\';k.78();q(!m.2x.7L.V)m.2x.G.1o=\'1E\';q(k.4b)m.9x(k.Q);m.1A(k,\'fW\');m.16[k.Q]=I;m.bw()}};m.7x=C(a,S,7t){k.a=a;k.S=S;k.7t=7t};m.7x.5w={9r:C(){A 2V;q(!k.1e)k.1e=m.7s(k.a);q(k.1e.3b(\'#\')){A 2a=k.1e.7G(\'#\');k.1e=2a[0];k.1v=2a[1]}q(m.7k[k.1e]){k.cd=m.7k[k.1e];q(k.1v)k.a3();J k.6f();E}1t{2V=1J cp()}1y(e){1t{2V=1J bu("fS.bR")}1y(e){1t{2V=1J bu("bv.bR")}1y(e){k.9z()}}}A 3v=k;2V.gc=C(){q(3v.2V.bS==4){q(3v.1v)3v.a3();J 3v.6f()}};A 1e=k.1e;k.2V=2V;q(m.g3)1e=1e.2k(/$/,(/\\?/.11(1e)?\'&\':\'?\')+\'g6=\'+(1J 7K()).79());2V.ca(\'fQ\',1e,M);2V.ce(\'X-fA-fB\',\'cp\');2V.ce(\'fu-fv\',\'fL/x-fO-9j-fJ\');2V.fF(I)},a3:C(){m.7m();A 4l=1S.3z||m.cf?{1e:\'fI:eC\'}:I;k.1k=m.1d(\'1k\',4l,{1l:\'2l\',Y:\'-4v\'},m.2b);k.6f()},6f:C(){A s=k.cd||k.2V.dn,7H;q(k.7t)m.7k[k.1e]=s;q(!m.2h||m.2t>=5.5){s=s.2k(1J 4Y(\'<di[^>]*>\',\'c9\'),\'\').2k(1J 4Y(\'<cc[^>]*>.*?</cc>\',\'c9\'),\'\');q(k.1k){A 2B=k.1k.9O;q(!2B&&k.1k.6g)2B=k.1k.6g.W;q(!2B){A 3v=k;4a(C(){3v.6f()},25);E}2B.ca();2B.dg(s);2B.26();1t{s=2B.9Q(k.1v).2d}1y(e){1t{s=k.1k.W.9Q(k.1v).2d}1y(e){}}m.3B(k.1k)}J{7H=/(<19[^>]*>|<\\/19>)/db;q(7H.11(s))s=s.7G(7H)[m.3R?1:2]}}m.4p(k.S,\'7J\',\'K-19\').2d=s;k.3F();O(A x 2Y k)k[x]=I}};m.83=C(4k,1r){q(m.cX!==1j)m.95();k.4k=4k;O(A x 2Y 1r)k[x]=1r[x];q(k.cZ)k.cg();q(k.2D)k.2D=m.ci(k)};m.83.5w={cg:C(){k.2X=m.1d(\'P\',{2d:m.8b(m.8i.2X)},I,m.2b);A 6j=[\'3L\',\'3p\',\'3a\',\'1D\',\'3u\',\'1a-2F\',\'26\'];k.1Q={};A 3v=k;O(A i=0;i<6j.V;i++){k.1Q[6j[i]]=m.4p(k.2X,\'1H\',\'K-\'+6j[i]);k.4u(6j[i])}k.1Q.3p.G.1o=\'1E\'},ch:C(){q(k.cm||!k.2X)E;A B=m.16[k.4k],5q=B.7v(),2m=/7w$/;q(5q==0)k.5d(\'3a\');J q(2m.11(k.1Q.3a.2C(\'a\')[0].1c))k.4u(\'3a\');q(5q+1==m.4U.3i[B.2N||\'1E\'].V){k.5d(\'1D\');k.5d(\'3L\')}J q(2m.11(k.1Q.1D.2C(\'a\')[0].1c)){k.4u(\'1D\');k.4u(\'3L\')}},4u:C(1Q){q(!k.1Q)E;A cn=k,a=k.1Q[1Q].2C(\'a\')[0],2m=/7w$/;a.2p=C(){cn[1Q]();E 1j};q(2m.11(a.1c))a.1c=a.1c.2k(2m,\'\')},5d:C(1Q){q(!k.1Q)E;A a=k.1Q[1Q].2C(\'a\')[0];a.2p=C(){E 1j};q(!/7w$/.11(a.1c))a.1c+=\' 7w\'},cl:C(){q(k.42)k.3p();J k.3L()},3L:C(ck){q(k.1Q){k.1Q.3L.G.1o=\'1E\';k.1Q.3p.G.1o=\'\'}k.42=M;q(!ck)m.1D(k.4k)},3p:C(){q(k.1Q){k.1Q.3p.G.1o=\'1E\';k.1Q.3L.G.1o=\'\'}d9(k.42);k.42=I},3a:C(){k.3p();m.3a(k.1Q.3a)},1D:C(){k.3p();m.1D(k.1Q.1D)},3u:C(){},\'1a-2F\':C(){m.2G().7r()},26:C(){m.26(k.1Q.26)}};m.ci=C(1p){C 7p(B){m.3A(1r||{},{4P:4E,22:\'2D\',1c:\'K-2D-\'+5k+\'-14 \'+(1r.1c||\'\')});q(m.3Z)1r.6w=0;B.4O(1r);m.R(4E.23,{2e:\'1q\'})};C 28(3K){5t(1L,1h.3e(3K*4E[3S?\'1O\':\'1U\']*0.7))};C 5t(i,80){q(i===1L)O(A j=0;j<5I.V;j++){q(5I[j]==m.16[1p.4k].a){i=j;5m}}q(i===1L)E;A as=4E.2C(\'a\'),4I=as[i],48=4I.23,1b=3S?\'cj\':\'c8\',3m=3S?\'c7\':\'bX\',L=3S?\'bY\':\'bW\',4V=\'1w\'+1b,1O=\'1w\'+L,7e=P.23.23[1O],5j=7e-2g[1O],6o=3H(2g.G[3S?\'1b\':\'Y\'])||0,2O=6o,ej=20;q(80!==1L){2O=6o-80;q(5j>0)5j=0;q(2O>0)2O=0;q(2O<5j)2O=5j}J{O(A j=0;j<as.V;j++)as[j].1c=\'\';4I.1c=\'K-4I-46\';A 7X=i>0?as[i-1].23[4V]:48[4V],7Y=48[4V]+48[1O]+(as[i+1]?as[i+1].23[1O]:0);q(7Y>7e-6o)2O=7e-7Y;J q(7X<-6o)2O=-7X}A 8R=48[4V]+(48[1O]-7f[1O])/2+2O;m.2z(2g,3S?{1b:2O}:{Y:2O},I,\'8S\');m.2z(7f,3S?{1b:8R}:{Y:8R},I,\'8S\');8l.G.1o=2O<0?\'3X\':\'1E\';8M.G.1o=(2O>5j)?\'3X\':\'1E\'};A 5I=m.4U.3i[m.16[1p.4k].2N||\'1E\'],1r=1p.2D,5k=1r.5k||\'bV\',8K=(5k==\'en\'),4f=8K?[\'P\',\'6t\',\'1H\',\'1C\']:[\'2g\',\'4G\',\'47\',\'2J\'],3S=(5k==\'bV\'),4E=m.1d(\'P\',{1c:\'K-2D K-2D-\'+5k,2d:\'<P 1W="K-2D-eg">\'+\'<\'+4f[0]+\'><\'+4f[1]+\'></\'+4f[1]+\'></\'+4f[0]+\'></P>\'+\'<P 1W="K-28-1I"><P></P></P>\'+\'<P 1W="K-28-ee"><P></P></P>\'+\'<P 1W="K-7f"><P></P></P>\'},{1o:\'1E\'},m.2b),5E=4E.7L,P=5E[0],8l=5E[1],8M=5E[2],7f=5E[3],2g=P.ef,4G=4E.2C(4f[1])[0],47;O(A i=0;i<5I.V;i++){q(i==0||!3S)47=m.1d(4f[2],I,I,4G);(C(){A a=5I[i],48=m.1d(4f[3],I,I,47),ex=i;m.1d(\'a\',{21:a.21,24:a.24,2p:C(){q(/K-4I-46/.11(k.1c))E 1j;m.2G(k).3M();E m.8N(a)},2d:m.bT?m.bT(a):a.2d},I,48)})()}q(!8K){8l.2p=C(){28(-1)};8M.2p=C(){28(1)};m.2j(4G,W.eA!==1L?\'er\':\'eq\',C(e){A 3K=0;e=e||1S.2u;q(e.bU){3K=e.bU/dR;q(m.3z)3K=-3K}J q(e.bZ){3K=-e.bZ/3}q(3K)28(-3K*0.2);q(e.5n)e.5n();e.c0=1j})}E{7p:7p,5t:5t}};m.7o=m.18;A e8=m.5A;q(m.2h&&1S==1S.Y){(C(){1t{W.5h.e4(\'1b\')}1y(e){4a(c5.dZ,50);E}m.41()})()}m.2j(W,\'dW\',m.41);m.2j(1S,\'8B\',m.41);m.2j(W,\'41\',C(){q(m.7R||m.4b){A G=m.1d(\'G\',{T:\'e0/8I\'},I,W.2C(\'e1\')[0]),8E=W.7a==\'8v\';C 5P(8m,8n){q(m.2h&&(m.2t<9||8E)){A 1i=W.c6[W.c6.V-1];q(1F(1i.5P)=="7j")1i.5P(8m,8n)}J{G.1X(W.e6(8m+" {"+8n+"}"))}}C 5T(1f){E\'e5( ( ( ez = W.5h.\'+1f+\' ? W.5h.\'+1f+\' : W.19.\'+1f+\' ) ) + \\\'F\\\' );\'}q(m.7R)5P(\'.K 1N\',\'4L: 7T(\'+m.5c+m.7R+\'), 7Q !dA;\');5P(\'.K-2x-D\',m.2h&&(m.2t<7||8E)?\'1l: 2l; \'+\'1b:\'+5T(\'5O\')+\'Y:\'+5T(\'5R\')+\'L:\'+5T(\'8F\')+\'N:\'+5T(\'c4\'):\'1l: fV; L: 2w%; N: 2w%; 1b: 0; Y: 0\')}});m.2j(1S,\'3O\',C(){m.7S();q(m.2x)O(A i=0;i<m.2x.7L.V;i++){A 1P=m.2x.7L[i],B=m.2G(1P);B.5V(1P);q(1P.22==\'2D\')B.1p.2D.5t()}});m.2j(W,\'7D\',C(e){m.7B={x:e.7A,y:e.7F}});m.2j(W,\'8y\',m.8z);m.2j(W,\'c3\',m.8z);m.2j(W,\'41\',m.c1);m.2j(1S,\'8B\',m.c2);m.2j(1S,\'8B\',m.bI)}',62,1006,'||||||||||||||||||||this||hs||||if||||||||||var|exp|function|size|return|px|style|pos|null|else|highslide|width|true|height|for|div|key|setStyles|content|type|wrapper|length|document||top|get||test|||overlay||expanders||lang|body|full|left|className|createElement|src|prop|outline|Math|last|false|iframe|position|els|visibility|display|slideshow|hidden|options|innerContent|try|dim|id|offset|overlayBox|catch|opacity|fireEvent|zIndex|span|next|none|typeof|p1|li|up|new|tpos|undefined|auto|img|offsetWidth|node|btn|ss|window|overlays|offsetHeight|imgSize|class|appendChild|visible|outlineType||href|hsId|parentNode|title||close||scroll|params|arr|container|case|innerHTML|overflow|wsize|table|ie|to|addEventListener|replace|absolute|re|op|push|onclick|upcoming|loading|scrollerDiv|uaVersion|event|dimmer|100|viewport|dragArgs|animate|isHtml|doc|getElementsByTagName|thumbstrip|isImage|expand|getExpander|args|objectType|td|imgPad|target|ratio|slideshowGroup|tblPos|tgt|easing|image|hiddenBy|justify|minSize|xhr|ajax|controls|in|name|elem|min||||contentType|p2||||previous|match|sg|focusKey|round|xSize|lastY|xpos|groups|val|wh|ucwh|right|lastX|marginMin|pause|transitions|ypos|tb|useBox|move|pThis|clearing|swf|ySize|opera|extend|discardElement|opt|html|custom|onLoad|number|parseInt|hasDragged|tagName|delta|play|focus|elPos|resize|step|func|ieLt9|isX|changed|objectLoadTime|graphic|releaseMask|block|outlineWhileAnimating|ieLt7||ready|autoplay|getParam|xp1|yp1|anchor|tr|cell|styles|setTimeout|dimmingOpacity|mediumContent|marginTop|crossfade|tree|page|duration|dur|objectWidth|expKey|attribs|timers|pendingOutlines|now|getElementByClass|clone|blurExp|minWidth|max|enable|9999px|unit|objectHeight|relative|removeEventListener|navigator|invPos|setPosition|preserveContent|dom|zIndexCounter|tbody|tgtArr|active|getNode|clientSize|cursor|safari|onload|createOverlay|overlayId|bottom|sleeping|marginMax|start|anchors|offsetLeft|marginLeft|center|RegExp|images||end|scrollingContent|relToVP|styleRestoreCursor|isExpanded|htmls|sizeOverlayBox|heading|doShowHide|cacheBindings|hDiff|graphicsDir|disable|fitsize|cNode|while|documentElement|wDiff|minTblPos|mode|fadeBox|break|preventDefault|ruler|Id|cur|owner|allowReduce|selectThumb|moveOnly|area|prototype|minX|currentStyle|maxY|Expander|minY|iDoc|afterClose|domCh|setAttribute|toLowerCase|maxX|group|cloneNode|ysize|xsize|trans|above|scrollLeft|addRule|filter|scrollTop|padToMinWidth|fix|destroy|positionOverlay|fac|stl|allowSizeReduction|250|before|idCounter|isClosing|iebody|preloadTheseImages|on|over|credits|keyHandler|contentLoaded|getParams|param|parent|userAgent|opos|loadHTML|contentWindow|restoreCursor|obj|buttons|minHeight|numberPosition|uclt|showLoading|curTblPos|getAnchors|all|Outline|mask|ul|slideshows|matches|fade|after|geckoMac|cache|Dimension|showHideElements|maincontent|onLoadStarted|kdeBugCorr|wrapperKey|oDiv|dragHandler|afterExpand|allowWidthReduction|getPosition|marginBottom|maxWidth|tId|offY|cancelLoading|thumbsUserSetId|hsKey|ximgPad|writeExtendedContent|keypress|yimgPad|expandDuration|allowHeightReduction|lt|dir||keydown|setSize|525|offX||complete|isHsAnchor|destroyOverlays|getTime|compatMode|rel|self|hideOnMouseOut|overlayWidth|marker|curAnim|expOnly|gotoEnd|object|cachedGets|onReady|init|topmostKey|langDefaults|add|preloadTheseAjax|doFullExpand|getSrc|pre|fullExpandLabel|getAnchorIndex|disabled|Ajax|element|adj|clientX|mouse|preloadFullImage|mousemove|below|clientY|split|regBody|os|DIV|Date|childNodes|panel|imgs|previousOrNext|relatedTarget|pointer|expandCursor|getPageSize|url|current|getAdjacentAnchor|cacheAjax|activeLeft|activeRight|htmlGetSize|scrollBy|pixDimmerSize|update|Slideshow|isNew|location|getCacheBinding|dimmingDuration|contentId|getSelfRendered|calcBorders|replaceLang|clones|topZ|swfOptions|types|oPos|calcExpanded|skin|Text|preloadAjaxElement|scrollUp|sel|dec|other|getIframePageHeight|endOff|startOff|previousTitle|names|from|BackCompat|arrow|fitOverlayBox|mousedown|mouseClickHandler|correctIframeSize|load|hasMovedMin|maxsize|backCompat|clientWidth|Click|border|css|parseFloat|floatMode|defaultView|scrollDown|transit|offsetTop|mY|mX|markerPos|easeOutQuad|yp2|xp2|moveTitle|nextText|nextTitle|previousText|moveText|closeTitle|setObjContainerSize|closeText|props|padding|updateAnchors|state|cssDirection|doWrapper||middle|changeSize|startTime|parOff|sizeDiff|numberOfImagesToPreload|distance|resizeTo|maxHeight|form|srcElement|allowMultipleInstances|moveTo|align|error|swfobject|removeChild|run|done|background|htmlExpand|loadingPosXfade|openerTagNames|undim|garbageBin|onError|restoreDuration|marginRight|mouseIsOver|margin|ie6|isReady|hasAlphaImageLoader|Create|connectOutline|blur|evt|ucrb|calcThumb|origProp|contentDocument|thumbnailId|getElementById|osize|direction|loadingPos|getWrapperKey|genOverlayBox|restoreTitle|caption|abs|fullExpandTitle|initSlideshow|continuePreloading|getInline|getElementContent|overrides|show|hasFocused|dragByHeading|string|wrapperClassName|setPos|playText|pauseText|pauseTitle|fullExpandText|timerId|Move|Pause|preloadGraphic|spacebar|png|Play|Close|Highslide|JS|_default|Previous|appendTo||KDE|playTitle|vendor|200|call|Next|onGraphicLoad|and|vis|targetY|hasExtendedContent|pow|attributes|flashvars|isUnobtrusiveAnchor|hsHasSetClick|clear|ltr|newHeight|detachEvent|wmode|clickY|wrapperMouseHandler|focusTopmost|dimmingGeckoFix|enableKeyListener|fixedControls|hasHtmlExpanders|clickX|thumb|pageOrigin|loadingTitle|loadingText|resizeTitle|targetX|headingOverlay|captionOverlay|htmlSizeOperations|rb|switch|orig|getImageMapAreaCorrection|rv|tag|offsetParent|both|contentWrapper|loadingOpacity|pageXOffset|alpha|nopad|toUpperCase|easeInQuad|hide|clearsX|doPanels|showOverlays|gotOverlays|writeCredits|getNumber|showCredits|createFullExpand|javascript|ActiveXObject|Microsoft|reOrder|sleep||fullExpandPosition|fullExpandOpacity|getOverlays|rightpanel|focusTitle|hand|indexOf|clearsY|getAttribute|preloadAjax|htmlPrepareClose|destroyObject|offsetY|leftpanel|offsetX|relativeTo|awake|reuseOverlay|XMLHTTP|readyState|stripItemFormatter|wheelDelta|horizontal|Height|Bottom|Width|detail|returnValue|setClickEvents|preloadImages|mouseup|clientHeight|arguments|styleSheets|Right|Top|gi|open||script|cachedGet|setRequestHeader|ie6SSL|getControls|checkFirstAndLast|Thumbstrip|Left|wait|hitSpace|repeat|sls|getPropertyValue|XMLHttpRequest|creditsText|creditsTitle|creditsTarget|creditsHref|onHideLoading|creditsPosition|Eval|Overlay|addOverlay|nextSibling|_|overlayOptions|toString|fadeInOut|transitionDuration|easingClose|correctRatio|tmpMin|ximgSize|yimgSize|getComputedStyle|prepareNextOutline|newImg|oldImg|hideSelects|preloadNext|hideIframes|scrollWidth|reuse|iPod|iPhone|scrollHeight|boolean|dynamicallyUpdateAnchors|1001|useControls|geckodimmer|onAfterExpand|iPad|onDimmerClick|htmlCreate|onShowLoading|rect|clip|nodeName|clearTimeout|onBeforeGetContent|ig|dimming|IFRAME|300|Android|write|xpand|link|htmlE|Line|lineNumber|floor|responseText|onDrop|oncontextmenu|alert|onImageClick|button|addSlideshow|registerOverlay|zoomin|graphics|zoomout|keyCode|onKeyDown|important|keys|click|message|drag|Use|insertBefore|flushImgSize|headingText|headingEval|headingId|captionEval|captionText|maincontentId|maincontentText|Trident|it|120|reflow|maincontentEval|captionId|shadow|DOMContentLoaded|||callee|text|HEAD|header|blockRightClick|doScroll|expression|createTextNode|footer|HsExpander|ra|Safari|useMap|_self|pageYOffset|down|firstChild|inner|com|outlineStartOffset|mgnRight|onSetClickEvent||http|float|innerHeight|innerWidth|DOMMouseScroll|mousewheel|Gecko|onBeforeExpand|Macintosh|drop|removeAttribute|pI|imageCreate|ignoreMe|onmousewheel|white|blank|esc|onAfterGetCaption|onAfterGetHeading|onBeforeGetHeading|onBeforeGetCaption|circle|cellSpacing|fontSize|lineHeight|collapse|borderCollapse|useOnHtml|newWidth|frameborder|front|onmouseout|clearInterval|01|onBeforeClose|onBlur|onmouseover|Resize|Expand|fit|outlinesDir|200px|onInit|Go|allowSimultaneousLoading|the|onCreateOverlay|Powered|StopPlay|static|removeSWF|actual|onFocus|scale|shape|homepage|eval|outlines|default|SELECT|sizingMethod|AlphaImageLoader|DXImageTransform|progid|onAfterGetContent|onCreateFullExpand|onMouseOut|500|onMouseOver|Content|Type|Loading||attachEvent|of|Requested|With|coords|toElement|fromElement|send|sqrt|interval|about|urlencoded|dragSensitivity|application|mouseover|onDrag|www|cancel|GET|transparent|Msxml2|embedSWF|onActivate|fixed|onAfterClose|setInterval|flash|onDoFullExpand|bring|version|linearTween|forceAjaxReload|https|protocol|dummy|Image|debug|paddingTop|1px|expressInstallSwfurl|onreadystatechange|splice'.split('|'),0,{}))
@@ -0,0 +1,2657 @@
1
+ /**
2
+ * Name: Highslide JS
3
+ * Version: 4.1.13 (2011-10-06)
4
+ * Config: default +slideshow +positioning +transitions +viewport +thumbstrip
5
+ * Author: Torstein Hønsi
6
+ * Support: www.highslide.com/support
7
+ * License: www.highslide.com/#license
8
+ */
9
+ if (!hs) { var hs = {
10
+ // Language strings
11
+ lang : {
12
+ cssDirection: 'ltr',
13
+ loadingText : 'Loading...',
14
+ loadingTitle : 'Click to cancel',
15
+ focusTitle : 'Click to bring to front',
16
+ fullExpandTitle : 'Expand to actual size (f)',
17
+ creditsText : 'Powered by <i>Highslide JS</i>',
18
+ creditsTitle : 'Go to the Highslide JS homepage',
19
+ previousText : 'Previous',
20
+ nextText : 'Next',
21
+ moveText : 'Move',
22
+ closeText : 'Close',
23
+ closeTitle : 'Close (esc)',
24
+ resizeTitle : 'Resize',
25
+ playText : 'Play',
26
+ playTitle : 'Play slideshow (spacebar)',
27
+ pauseText : 'Pause',
28
+ pauseTitle : 'Pause slideshow (spacebar)',
29
+ previousTitle : 'Previous (arrow left)',
30
+ nextTitle : 'Next (arrow right)',
31
+ moveTitle : 'Move',
32
+ fullExpandText : '1:1',
33
+ number: 'Image %1 of %2',
34
+ restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.'
35
+ },
36
+ // See http://highslide.com/ref for examples of settings
37
+ graphicsDir : 'highslide/graphics/',
38
+ expandCursor : 'zoomin.cur', // null disables
39
+ restoreCursor : 'zoomout.cur', // null disables
40
+ expandDuration : 250, // milliseconds
41
+ restoreDuration : 250,
42
+ marginLeft : 15,
43
+ marginRight : 15,
44
+ marginTop : 15,
45
+ marginBottom : 15,
46
+ zIndexCounter : 1001, // adjust to other absolutely positioned elements
47
+ loadingOpacity : 0.75,
48
+ allowMultipleInstances: true,
49
+ numberOfImagesToPreload : 5,
50
+ outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only
51
+ outlineStartOffset : 3, // ends at 10
52
+ padToMinWidth : false, // pad the popup width to make room for wide caption
53
+ fullExpandPosition : 'bottom right',
54
+ fullExpandOpacity : 1,
55
+ showCredits : true, // you can set this to false if you want
56
+ creditsHref : 'http://highslide.com/',
57
+ creditsTarget : '_self',
58
+ enableKeyListener : true,
59
+ openerTagNames : ['a'], // Add more to allow slideshow indexing
60
+ transitions : [],
61
+ transitionDuration: 250,
62
+ dimmingOpacity: 0, // Lightbox style dimming background
63
+ dimmingDuration: 50, // 0 for instant dimming
64
+
65
+ anchor : 'auto', // where the image expands from
66
+ align : 'auto', // position in the client (overrides anchor)
67
+ targetX: null, // the id of a target element
68
+ targetY: null,
69
+ dragByHeading: true,
70
+ minWidth: 200,
71
+ minHeight: 200,
72
+ allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight
73
+ outlineType : 'drop-shadow', // set null to disable outlines
74
+ skin : {
75
+ controls:
76
+ '<div class="highslide-controls"><ul>'+
77
+ '<li class="highslide-previous">'+
78
+ '<a href="#" title="{hs.lang.previousTitle}">'+
79
+ '<span>{hs.lang.previousText}</span></a>'+
80
+ '</li>'+
81
+ '<li class="highslide-play">'+
82
+ '<a href="#" title="{hs.lang.playTitle}">'+
83
+ '<span>{hs.lang.playText}</span></a>'+
84
+ '</li>'+
85
+ '<li class="highslide-pause">'+
86
+ '<a href="#" title="{hs.lang.pauseTitle}">'+
87
+ '<span>{hs.lang.pauseText}</span></a>'+
88
+ '</li>'+
89
+ '<li class="highslide-next">'+
90
+ '<a href="#" title="{hs.lang.nextTitle}">'+
91
+ '<span>{hs.lang.nextText}</span></a>'+
92
+ '</li>'+
93
+ '<li class="highslide-move">'+
94
+ '<a href="#" title="{hs.lang.moveTitle}">'+
95
+ '<span>{hs.lang.moveText}</span></a>'+
96
+ '</li>'+
97
+ '<li class="highslide-full-expand">'+
98
+ '<a href="#" title="{hs.lang.fullExpandTitle}">'+
99
+ '<span>{hs.lang.fullExpandText}</span></a>'+
100
+ '</li>'+
101
+ '<li class="highslide-close">'+
102
+ '<a href="#" title="{hs.lang.closeTitle}" >'+
103
+ '<span>{hs.lang.closeText}</span></a>'+
104
+ '</li>'+
105
+ '</ul></div>'
106
+ },
107
+ // END OF YOUR SETTINGS
108
+
109
+
110
+ // declare internal properties
111
+ preloadTheseImages : [],
112
+ continuePreloading: true,
113
+ expanders : [],
114
+ overrides : [
115
+ 'allowSizeReduction',
116
+ 'useBox',
117
+ 'anchor',
118
+ 'align',
119
+ 'targetX',
120
+ 'targetY',
121
+ 'outlineType',
122
+ 'outlineWhileAnimating',
123
+ 'captionId',
124
+ 'captionText',
125
+ 'captionEval',
126
+ 'captionOverlay',
127
+ 'headingId',
128
+ 'headingText',
129
+ 'headingEval',
130
+ 'headingOverlay',
131
+ 'creditsPosition',
132
+ 'dragByHeading',
133
+ 'autoplay',
134
+ 'numberPosition',
135
+ 'transitions',
136
+ 'dimmingOpacity',
137
+
138
+ 'width',
139
+ 'height',
140
+
141
+ 'wrapperClassName',
142
+ 'minWidth',
143
+ 'minHeight',
144
+ 'maxWidth',
145
+ 'maxHeight',
146
+ 'pageOrigin',
147
+ 'slideshowGroup',
148
+ 'easing',
149
+ 'easingClose',
150
+ 'fadeInOut',
151
+ 'src'
152
+ ],
153
+ overlays : [],
154
+ idCounter : 0,
155
+ oPos : {
156
+ x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'],
157
+ y: ['above', 'top', 'middle', 'bottom', 'below']
158
+ },
159
+ mouse: {},
160
+ headingOverlay: {},
161
+ captionOverlay: {},
162
+ timers : [],
163
+
164
+ slideshows : [],
165
+
166
+ pendingOutlines : {},
167
+ clones : {},
168
+ onReady: [],
169
+ uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 :
170
+ parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]),
171
+ ie : (document.all && !window.opera),
172
+ //ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant?
173
+ safari : /Safari/.test(navigator.userAgent),
174
+ geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),
175
+
176
+ $ : function (id) {
177
+ if (id) return document.getElementById(id);
178
+ },
179
+
180
+ push : function (arr, val) {
181
+ arr[arr.length] = val;
182
+ },
183
+
184
+ createElement : function (tag, attribs, styles, parent, nopad) {
185
+ var el = document.createElement(tag);
186
+ if (attribs) hs.extend(el, attribs);
187
+ if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0});
188
+ if (styles) hs.setStyles(el, styles);
189
+ if (parent) parent.appendChild(el);
190
+ return el;
191
+ },
192
+
193
+ extend : function (el, attribs) {
194
+ for (var x in attribs) el[x] = attribs[x];
195
+ return el;
196
+ },
197
+
198
+ setStyles : function (el, styles) {
199
+ for (var x in styles) {
200
+ if (hs.ieLt9 && x == 'opacity') {
201
+ if (styles[x] > 0.99) el.style.removeAttribute('filter');
202
+ else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')';
203
+ }
204
+ else el.style[x] = styles[x];
205
+ }
206
+ },
207
+ animate: function(el, prop, opt) {
208
+ var start,
209
+ end,
210
+ unit;
211
+ if (typeof opt != 'object' || opt === null) {
212
+ var args = arguments;
213
+ opt = {
214
+ duration: args[2],
215
+ easing: args[3],
216
+ complete: args[4]
217
+ };
218
+ }
219
+ if (typeof opt.duration != 'number') opt.duration = 250;
220
+ opt.easing = Math[opt.easing] || Math.easeInQuad;
221
+ opt.curAnim = hs.extend({}, prop);
222
+ for (var name in prop) {
223
+ var e = new hs.fx(el, opt , name );
224
+
225
+ start = parseFloat(hs.css(el, name)) || 0;
226
+ end = parseFloat(prop[name]);
227
+ unit = name != 'opacity' ? 'px' : '';
228
+
229
+ e.custom( start, end, unit );
230
+ }
231
+ },
232
+ css: function(el, prop) {
233
+ if (el.style[prop]) {
234
+ return el.style[prop];
235
+ } else if (document.defaultView) {
236
+ return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop);
237
+
238
+ } else {
239
+ if (prop == 'opacity') prop = 'filter';
240
+ var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })];
241
+ if (prop == 'filter')
242
+ val = val.replace(/alpha\(opacity=([0-9]+)\)/,
243
+ function (a, b) { return b / 100 });
244
+ return val === '' ? 1 : val;
245
+ }
246
+ },
247
+
248
+ getPageSize : function () {
249
+ var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat'
250
+ ? d.documentElement : d.body,
251
+ ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined');
252
+
253
+ var width = ieLt9 ? iebody.clientWidth :
254
+ (d.documentElement.clientWidth || self.innerWidth),
255
+ height = ieLt9 ? iebody.clientHeight : self.innerHeight;
256
+ hs.page = {
257
+ width: width,
258
+ height: height,
259
+ scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset,
260
+ scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset
261
+ };
262
+ return hs.page;
263
+ },
264
+
265
+ getPosition : function(el) {
266
+ var p = { x: el.offsetLeft, y: el.offsetTop };
267
+ while (el.offsetParent) {
268
+ el = el.offsetParent;
269
+ p.x += el.offsetLeft;
270
+ p.y += el.offsetTop;
271
+ if (el != document.body && el != document.documentElement) {
272
+ p.x -= el.scrollLeft;
273
+ p.y -= el.scrollTop;
274
+ }
275
+ }
276
+ return p;
277
+ },
278
+
279
+ expand : function(a, params, custom, type) {
280
+ if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container);
281
+ if (typeof a.getParams == 'function') return params;
282
+ try {
283
+ new hs.Expander(a, params, custom);
284
+ return false;
285
+ } catch (e) { return true; }
286
+ },
287
+ getElementByClass : function (el, tagName, className) {
288
+ var els = el.getElementsByTagName(tagName);
289
+ for (var i = 0; i < els.length; i++) {
290
+ if ((new RegExp(className)).test(els[i].className)) {
291
+ return els[i];
292
+ }
293
+ }
294
+ return null;
295
+ },
296
+ replaceLang : function(s) {
297
+ s = s.replace(/\s/g, ' ');
298
+ var re = /{hs\.lang\.([^}]+)\}/g,
299
+ matches = s.match(re),
300
+ lang;
301
+ if (matches) for (var i = 0; i < matches.length; i++) {
302
+ lang = matches[i].replace(re, "$1");
303
+ if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]);
304
+ }
305
+ return s;
306
+ },
307
+
308
+
309
+ focusTopmost : function() {
310
+ var topZ = 0,
311
+ topmostKey = -1,
312
+ expanders = hs.expanders,
313
+ exp,
314
+ zIndex;
315
+ for (var i = 0; i < expanders.length; i++) {
316
+ exp = expanders[i];
317
+ if (exp) {
318
+ zIndex = exp.wrapper.style.zIndex;
319
+ if (zIndex && zIndex > topZ) {
320
+ topZ = zIndex;
321
+ topmostKey = i;
322
+ }
323
+ }
324
+ }
325
+ if (topmostKey == -1) hs.focusKey = -1;
326
+ else expanders[topmostKey].focus();
327
+ },
328
+
329
+ getParam : function (a, param) {
330
+ a.getParams = a.onclick;
331
+ var p = a.getParams ? a.getParams() : null;
332
+ a.getParams = null;
333
+
334
+ return (p && typeof p[param] != 'undefined') ? p[param] :
335
+ (typeof hs[param] != 'undefined' ? hs[param] : null);
336
+ },
337
+
338
+ getSrc : function (a) {
339
+ var src = hs.getParam(a, 'src');
340
+ if (src) return src;
341
+ return a.href;
342
+ },
343
+
344
+ getNode : function (id) {
345
+ var node = hs.$(id), clone = hs.clones[id], a = {};
346
+ if (!node && !clone) return null;
347
+ if (!clone) {
348
+ clone = node.cloneNode(true);
349
+ clone.id = '';
350
+ hs.clones[id] = clone;
351
+ return node;
352
+ } else {
353
+ return clone.cloneNode(true);
354
+ }
355
+ },
356
+
357
+ discardElement : function(d) {
358
+ if (d) hs.garbageBin.appendChild(d);
359
+ hs.garbageBin.innerHTML = '';
360
+ },
361
+ dim : function(exp) {
362
+ if (!hs.dimmer) {
363
+ isNew = true;
364
+ hs.dimmer = hs.createElement ('div', {
365
+ className: 'highslide-dimming highslide-viewport-size',
366
+ owner: '',
367
+ onclick: function() {
368
+
369
+ hs.close();
370
+ }
371
+ }, {
372
+ visibility: 'visible',
373
+ opacity: 0
374
+ }, hs.container, true);
375
+
376
+ if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) {
377
+ var body = document.body;
378
+ function pixDimmerSize() {
379
+ hs.setStyles(hs.dimmer, {
380
+ width: body.scrollWidth +'px',
381
+ height: body.scrollHeight +'px'
382
+ });
383
+ }
384
+ pixDimmerSize();
385
+ hs.addEventListener(window, 'resize', pixDimmerSize);
386
+ }
387
+ }
388
+ hs.dimmer.style.display = '';
389
+
390
+ var isNew = hs.dimmer.owner == '';
391
+ hs.dimmer.owner += '|'+ exp.key;
392
+
393
+ if (isNew) {
394
+ if (hs.geckoMac && hs.dimmingGeckoFix)
395
+ hs.setStyles(hs.dimmer, {
396
+ background: 'url('+ hs.graphicsDir + 'geckodimmer.png)',
397
+ opacity: 1
398
+ });
399
+ else
400
+ hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration);
401
+ }
402
+ },
403
+ undim : function(key) {
404
+ if (!hs.dimmer) return;
405
+ if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, '');
406
+
407
+ if (
408
+ (typeof key != 'undefined' && hs.dimmer.owner != '')
409
+ || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity'))
410
+ ) return;
411
+
412
+ if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none';
413
+ else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() {
414
+ hs.dimmer.style.display = 'none';
415
+ });
416
+ },
417
+ transit : function (adj, exp) {
418
+ var last = exp || hs.getExpander();
419
+ exp = last;
420
+ if (hs.upcoming) return false;
421
+ else hs.last = last;
422
+ hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
423
+ try {
424
+ hs.upcoming = adj;
425
+ adj.onclick();
426
+ } catch (e){
427
+ hs.last = hs.upcoming = null;
428
+ }
429
+ try {
430
+ if (!adj || exp.transitions[1] != 'crossfade')
431
+ exp.close();
432
+ } catch (e) {}
433
+ return false;
434
+ },
435
+
436
+ previousOrNext : function (el, op) {
437
+ var exp = hs.getExpander(el);
438
+ if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp);
439
+ else return false;
440
+ },
441
+
442
+ previous : function (el) {
443
+ return hs.previousOrNext(el, -1);
444
+ },
445
+
446
+ next : function (el) {
447
+ return hs.previousOrNext(el, 1);
448
+ },
449
+
450
+ keyHandler : function(e) {
451
+ if (!e) e = window.event;
452
+ if (!e.target) e.target = e.srcElement; // ie
453
+ if (typeof e.target.form != 'undefined') return true; // form element has focus
454
+ var exp = hs.getExpander();
455
+
456
+ var op = null;
457
+ switch (e.keyCode) {
458
+ case 70: // f
459
+ if (exp) exp.doFullExpand();
460
+ return true;
461
+ case 32: // Space
462
+ op = 2;
463
+ break;
464
+ case 34: // Page Down
465
+ case 39: // Arrow right
466
+ case 40: // Arrow down
467
+ op = 1;
468
+ break;
469
+ case 8: // Backspace
470
+ case 33: // Page Up
471
+ case 37: // Arrow left
472
+ case 38: // Arrow up
473
+ op = -1;
474
+ break;
475
+ case 27: // Escape
476
+ case 13: // Enter
477
+ op = 0;
478
+ }
479
+ if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
480
+ if (!hs.enableKeyListener) return true;
481
+
482
+ if (e.preventDefault) e.preventDefault();
483
+ else e.returnValue = false;
484
+ if (exp) {
485
+ if (op == 0) {
486
+ exp.close();
487
+ } else if (op == 2) {
488
+ if (exp.slideshow) exp.slideshow.hitSpace();
489
+ } else {
490
+ if (exp.slideshow) exp.slideshow.pause();
491
+ hs.previousOrNext(exp.key, op);
492
+ }
493
+ return false;
494
+ }
495
+ }
496
+ return true;
497
+ },
498
+
499
+
500
+ registerOverlay : function (overlay) {
501
+ hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } ));
502
+ },
503
+
504
+
505
+ addSlideshow : function (options) {
506
+ var sg = options.slideshowGroup;
507
+ if (typeof sg == 'object') {
508
+ for (var i = 0; i < sg.length; i++) {
509
+ var o = {};
510
+ for (var x in options) o[x] = options[x];
511
+ o.slideshowGroup = sg[i];
512
+ hs.push(hs.slideshows, o);
513
+ }
514
+ } else {
515
+ hs.push(hs.slideshows, options);
516
+ }
517
+ },
518
+
519
+ getWrapperKey : function (element, expOnly) {
520
+ var el, re = /^highslide-wrapper-([0-9]+)$/;
521
+ // 1. look in open expanders
522
+ el = element;
523
+ while (el.parentNode) {
524
+ if (el.hsKey !== undefined) return el.hsKey;
525
+ if (el.id && re.test(el.id)) return el.id.replace(re, "$1");
526
+ el = el.parentNode;
527
+ }
528
+ // 2. look in thumbnail
529
+ if (!expOnly) {
530
+ el = element;
531
+ while (el.parentNode) {
532
+ if (el.tagName && hs.isHsAnchor(el)) {
533
+ for (var key = 0; key < hs.expanders.length; key++) {
534
+ var exp = hs.expanders[key];
535
+ if (exp && exp.a == el) return key;
536
+ }
537
+ }
538
+ el = el.parentNode;
539
+ }
540
+ }
541
+ return null;
542
+ },
543
+
544
+ getExpander : function (el, expOnly) {
545
+ if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null;
546
+ if (typeof el == 'number') return hs.expanders[el] || null;
547
+ if (typeof el == 'string') el = hs.$(el);
548
+ return hs.expanders[hs.getWrapperKey(el, expOnly)] || null;
549
+ },
550
+
551
+ isHsAnchor : function (a) {
552
+ return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/));
553
+ },
554
+
555
+ reOrder : function () {
556
+ for (var i = 0; i < hs.expanders.length; i++)
557
+ if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost();
558
+ },
559
+
560
+ mouseClickHandler : function(e)
561
+ {
562
+ if (!e) e = window.event;
563
+ if (e.button > 1) return true;
564
+ if (!e.target) e.target = e.srcElement;
565
+
566
+ var el = e.target;
567
+ while (el.parentNode
568
+ && !(/highslide-(image|move|html|resize)/.test(el.className)))
569
+ {
570
+ el = el.parentNode;
571
+ }
572
+ var exp = hs.getExpander(el);
573
+ if (exp && (exp.isClosing || !exp.isExpanded)) return true;
574
+
575
+ if (exp && e.type == 'mousedown') {
576
+ if (e.target.form) return true;
577
+ var match = el.className.match(/highslide-(image|move|resize)/);
578
+ if (match) {
579
+ hs.dragArgs = {
580
+ exp: exp ,
581
+ type: match[1],
582
+ left: exp.x.pos,
583
+ width: exp.x.size,
584
+ top: exp.y.pos,
585
+ height: exp.y.size,
586
+ clickX: e.clientX,
587
+ clickY: e.clientY
588
+ };
589
+
590
+
591
+ hs.addEventListener(document, 'mousemove', hs.dragHandler);
592
+ if (e.preventDefault) e.preventDefault(); // FF
593
+
594
+ if (/highslide-(image|html)-blur/.test(exp.content.className)) {
595
+ exp.focus();
596
+ hs.hasFocused = true;
597
+ }
598
+ return false;
599
+ }
600
+ } else if (e.type == 'mouseup') {
601
+
602
+ hs.removeEventListener(document, 'mousemove', hs.dragHandler);
603
+
604
+ if (hs.dragArgs) {
605
+ if (hs.styleRestoreCursor && hs.dragArgs.type == 'image')
606
+ hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor;
607
+ var hasDragged = hs.dragArgs.hasDragged;
608
+
609
+ if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) {
610
+ exp.close();
611
+ }
612
+ else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) {
613
+ hs.dragArgs.exp.doShowHide('hidden');
614
+ }
615
+ hs.hasFocused = false;
616
+ hs.dragArgs = null;
617
+
618
+ } else if (/highslide-image-blur/.test(el.className)) {
619
+ el.style.cursor = hs.styleRestoreCursor;
620
+ }
621
+ }
622
+ return false;
623
+ },
624
+
625
+ dragHandler : function(e)
626
+ {
627
+ if (!hs.dragArgs) return true;
628
+ if (!e) e = window.event;
629
+ var a = hs.dragArgs, exp = a.exp;
630
+
631
+ a.dX = e.clientX - a.clickX;
632
+ a.dY = e.clientY - a.clickY;
633
+
634
+ var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2));
635
+ if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0)
636
+ || (distance > (hs.dragSensitivity || 5));
637
+
638
+ if (a.hasDragged && e.clientX > 5 && e.clientY > 5) {
639
+
640
+ if (a.type == 'resize') exp.resize(a);
641
+ else {
642
+ exp.moveTo(a.left + a.dX, a.top + a.dY);
643
+ if (a.type == 'image') exp.content.style.cursor = 'move';
644
+ }
645
+ }
646
+ return false;
647
+ },
648
+
649
+ wrapperMouseHandler : function (e) {
650
+ try {
651
+ if (!e) e = window.event;
652
+ var over = /mouseover/i.test(e.type);
653
+ if (!e.target) e.target = e.srcElement; // ie
654
+ if (!e.relatedTarget) e.relatedTarget =
655
+ over ? e.fromElement : e.toElement; // ie
656
+ var exp = hs.getExpander(e.target);
657
+ if (!exp.isExpanded) return;
658
+ if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp
659
+ || hs.dragArgs) return;
660
+ for (var i = 0; i < exp.overlays.length; i++) (function() {
661
+ var o = hs.$('hsId'+ exp.overlays[i]);
662
+ if (o && o.hideOnMouseOut) {
663
+ if (over) hs.setStyles(o, { visibility: 'visible', display: '' });
664
+ hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur);
665
+ }
666
+ })();
667
+ } catch (e) {}
668
+ },
669
+ addEventListener : function (el, event, func) {
670
+ if (el == document && event == 'ready') {
671
+ hs.push(hs.onReady, func);
672
+ }
673
+ try {
674
+ el.addEventListener(event, func, false);
675
+ } catch (e) {
676
+ try {
677
+ el.detachEvent('on'+ event, func);
678
+ el.attachEvent('on'+ event, func);
679
+ } catch (e) {
680
+ el['on'+ event] = func;
681
+ }
682
+ }
683
+ },
684
+
685
+ removeEventListener : function (el, event, func) {
686
+ try {
687
+ el.removeEventListener(event, func, false);
688
+ } catch (e) {
689
+ try {
690
+ el.detachEvent('on'+ event, func);
691
+ } catch (e) {
692
+ el['on'+ event] = null;
693
+ }
694
+ }
695
+ },
696
+
697
+ preloadFullImage : function (i) {
698
+ if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') {
699
+ var img = document.createElement('img');
700
+ img.onload = function() {
701
+ img = null;
702
+ hs.preloadFullImage(i + 1);
703
+ };
704
+ img.src = hs.preloadTheseImages[i];
705
+ }
706
+ },
707
+ preloadImages : function (number) {
708
+ if (number && typeof number != 'object') hs.numberOfImagesToPreload = number;
709
+
710
+ var arr = hs.getAnchors();
711
+ for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) {
712
+ hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i]));
713
+ }
714
+
715
+ // preload outlines
716
+ if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} );
717
+ else
718
+
719
+ hs.preloadFullImage(0);
720
+
721
+ // preload cursor
722
+ if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor });
723
+ },
724
+
725
+
726
+ init : function () {
727
+ if (!hs.container) {
728
+
729
+ hs.ieLt7 = hs.ie && hs.uaVersion < 7;
730
+ hs.ieLt9 = hs.ie && hs.uaVersion < 9;
731
+
732
+ hs.getPageSize();
733
+ for (var x in hs.langDefaults) {
734
+ if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x];
735
+ else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined')
736
+ hs.lang[x] = hs.langDefaults[x];
737
+ }
738
+
739
+ hs.container = hs.createElement('div', {
740
+ className: 'highslide-container'
741
+ }, {
742
+ position: 'absolute',
743
+ left: 0,
744
+ top: 0,
745
+ width: '100%',
746
+ zIndex: hs.zIndexCounter,
747
+ direction: 'ltr'
748
+ },
749
+ document.body,
750
+ true
751
+ );
752
+ hs.loading = hs.createElement('a', {
753
+ className: 'highslide-loading',
754
+ title: hs.lang.loadingTitle,
755
+ innerHTML: hs.lang.loadingText,
756
+ href: 'javascript:;'
757
+ }, {
758
+ position: 'absolute',
759
+ top: '-9999px',
760
+ opacity: hs.loadingOpacity,
761
+ zIndex: 1
762
+ }, hs.container
763
+ );
764
+ hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container);
765
+ hs.viewport = hs.createElement('div', {
766
+ className: 'highslide-viewport highslide-viewport-size'
767
+ }, {
768
+ visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden'
769
+ }, hs.container, 1
770
+ );
771
+
772
+ // http://www.robertpenner.com/easing/
773
+ Math.linearTween = function (t, b, c, d) {
774
+ return c*t/d + b;
775
+ };
776
+ Math.easeInQuad = function (t, b, c, d) {
777
+ return c*(t/=d)*t + b;
778
+ };
779
+ Math.easeOutQuad = function (t, b, c, d) {
780
+ return -c *(t/=d)*(t-2) + b;
781
+ };
782
+
783
+ hs.hideSelects = hs.ieLt7;
784
+ hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE'
785
+ || (hs.ieLt7 && hs.uaVersion < 5.5));
786
+ }
787
+ },
788
+ ready : function() {
789
+ if (hs.isReady) return;
790
+ hs.isReady = true;
791
+ for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i]();
792
+ },
793
+
794
+ updateAnchors : function() {
795
+ var el, els, all = [], images = [],groups = {}, re;
796
+
797
+ for (var i = 0; i < hs.openerTagNames.length; i++) {
798
+ els = document.getElementsByTagName(hs.openerTagNames[i]);
799
+ for (var j = 0; j < els.length; j++) {
800
+ el = els[j];
801
+ re = hs.isHsAnchor(el);
802
+ if (re) {
803
+ hs.push(all, el);
804
+ if (re[0] == 'hs.expand') hs.push(images, el);
805
+ var g = hs.getParam(el, 'slideshowGroup') || 'none';
806
+ if (!groups[g]) groups[g] = [];
807
+ hs.push(groups[g], el);
808
+ }
809
+ }
810
+ }
811
+ hs.anchors = { all: all, groups: groups, images: images };
812
+ return hs.anchors;
813
+
814
+ },
815
+
816
+ getAnchors : function() {
817
+ return hs.anchors || hs.updateAnchors();
818
+ },
819
+
820
+
821
+ close : function(el) {
822
+ var exp = hs.getExpander(el);
823
+ if (exp) exp.close();
824
+ return false;
825
+ }
826
+ }; // end hs object
827
+ hs.fx = function( elem, options, prop ){
828
+ this.options = options;
829
+ this.elem = elem;
830
+ this.prop = prop;
831
+
832
+ if (!options.orig) options.orig = {};
833
+ };
834
+ hs.fx.prototype = {
835
+ update: function(){
836
+ (hs.fx.step[this.prop] || hs.fx.step._default)(this);
837
+
838
+ if (this.options.step)
839
+ this.options.step.call(this.elem, this.now, this);
840
+
841
+ },
842
+ custom: function(from, to, unit){
843
+ this.startTime = (new Date()).getTime();
844
+ this.start = from;
845
+ this.end = to;
846
+ this.unit = unit;// || this.unit || "px";
847
+ this.now = this.start;
848
+ this.pos = this.state = 0;
849
+
850
+ var self = this;
851
+ function t(gotoEnd){
852
+ return self.step(gotoEnd);
853
+ }
854
+
855
+ t.elem = this.elem;
856
+
857
+ if ( t() && hs.timers.push(t) == 1 ) {
858
+ hs.timerId = setInterval(function(){
859
+ var timers = hs.timers;
860
+
861
+ for ( var i = 0; i < timers.length; i++ )
862
+ if ( !timers[i]() )
863
+ timers.splice(i--, 1);
864
+
865
+ if ( !timers.length ) {
866
+ clearInterval(hs.timerId);
867
+ }
868
+ }, 13);
869
+ }
870
+ },
871
+ step: function(gotoEnd){
872
+ var t = (new Date()).getTime();
873
+ if ( gotoEnd || t >= this.options.duration + this.startTime ) {
874
+ this.now = this.end;
875
+ this.pos = this.state = 1;
876
+ this.update();
877
+
878
+ this.options.curAnim[ this.prop ] = true;
879
+
880
+ var done = true;
881
+ for ( var i in this.options.curAnim )
882
+ if ( this.options.curAnim[i] !== true )
883
+ done = false;
884
+
885
+ if ( done ) {
886
+ if (this.options.complete) this.options.complete.call(this.elem);
887
+ }
888
+ return false;
889
+ } else {
890
+ var n = t - this.startTime;
891
+ this.state = n / this.options.duration;
892
+ this.pos = this.options.easing(n, 0, 1, this.options.duration);
893
+ this.now = this.start + ((this.end - this.start) * this.pos);
894
+ this.update();
895
+ }
896
+ return true;
897
+ }
898
+
899
+ };
900
+
901
+ hs.extend( hs.fx, {
902
+ step: {
903
+
904
+ opacity: function(fx){
905
+ hs.setStyles(fx.elem, { opacity: fx.now });
906
+ },
907
+
908
+ _default: function(fx){
909
+ try {
910
+ if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
911
+ fx.elem.style[ fx.prop ] = fx.now + fx.unit;
912
+ else
913
+ fx.elem[ fx.prop ] = fx.now;
914
+ } catch (e) {}
915
+ }
916
+ }
917
+ });
918
+
919
+ hs.Outline = function (outlineType, onLoad) {
920
+ this.onLoad = onLoad;
921
+ this.outlineType = outlineType;
922
+ var v = hs.uaVersion, tr;
923
+
924
+ this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7;
925
+ if (!outlineType) {
926
+ if (onLoad) onLoad();
927
+ return;
928
+ }
929
+
930
+ hs.init();
931
+ this.table = hs.createElement(
932
+ 'table', {
933
+ cellSpacing: 0
934
+ }, {
935
+ visibility: 'hidden',
936
+ position: 'absolute',
937
+ borderCollapse: 'collapse',
938
+ width: 0
939
+ },
940
+ hs.container,
941
+ true
942
+ );
943
+ var tbody = hs.createElement('tbody', null, null, this.table, 1);
944
+
945
+ this.td = [];
946
+ for (var i = 0; i <= 8; i++) {
947
+ if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true);
948
+ this.td[i] = hs.createElement('td', null, null, tr, true);
949
+ var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' };
950
+ hs.setStyles(this.td[i], style);
951
+ }
952
+ this.td[4].className = outlineType +' highslide-outline';
953
+
954
+ this.preloadGraphic();
955
+ };
956
+
957
+ hs.Outline.prototype = {
958
+ preloadGraphic : function () {
959
+ var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png";
960
+
961
+ var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null;
962
+ this.graphic = hs.createElement('img', null, { position: 'absolute',
963
+ top: '-9999px' }, appendTo, true); // for onload trigger
964
+
965
+ var pThis = this;
966
+ this.graphic.onload = function() { pThis.onGraphicLoad(); };
967
+
968
+ this.graphic.src = src;
969
+ },
970
+
971
+ onGraphicLoad : function () {
972
+ var o = this.offset = this.graphic.width / 4,
973
+ pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],
974
+ dim = { height: (2*o) +'px', width: (2*o) +'px' };
975
+ for (var i = 0; i <= 8; i++) {
976
+ if (pos[i]) {
977
+ if (this.hasAlphaImageLoader) {
978
+ var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px';
979
+ var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true);
980
+ hs.createElement ('div', null, {
981
+ filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')",
982
+ position: 'absolute',
983
+ width: w,
984
+ height: this.graphic.height +'px',
985
+ left: (pos[i][0]*o)+'px',
986
+ top: (pos[i][1]*o)+'px'
987
+ },
988
+ div,
989
+ true);
990
+ } else {
991
+ hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'});
992
+ }
993
+
994
+ if (window.opera && (i == 3 || i ==5))
995
+ hs.createElement('div', null, dim, this.td[i], true);
996
+
997
+ hs.setStyles (this.td[i], dim);
998
+ }
999
+ }
1000
+ this.graphic = null;
1001
+ if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy();
1002
+ hs.pendingOutlines[this.outlineType] = this;
1003
+ if (this.onLoad) this.onLoad();
1004
+ },
1005
+
1006
+ setPosition : function (pos, offset, vis, dur, easing) {
1007
+ var exp = this.exp,
1008
+ stl = exp.wrapper.style,
1009
+ offset = offset || 0,
1010
+ pos = pos || {
1011
+ x: exp.x.pos + offset,
1012
+ y: exp.y.pos + offset,
1013
+ w: exp.x.get('wsize') - 2 * offset,
1014
+ h: exp.y.get('wsize') - 2 * offset
1015
+ };
1016
+ if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset)
1017
+ ? 'visible' : 'hidden';
1018
+ hs.setStyles(this.table, {
1019
+ left: (pos.x - this.offset) +'px',
1020
+ top: (pos.y - this.offset) +'px',
1021
+ width: (pos.w + 2 * this.offset) +'px'
1022
+ });
1023
+
1024
+ pos.w -= 2 * this.offset;
1025
+ pos.h -= 2 * this.offset;
1026
+ hs.setStyles (this.td[4], {
1027
+ width: pos.w >= 0 ? pos.w +'px' : 0,
1028
+ height: pos.h >= 0 ? pos.h +'px' : 0
1029
+ });
1030
+ if (this.hasAlphaImageLoader) this.td[3].style.height
1031
+ = this.td[5].style.height = this.td[4].style.height;
1032
+
1033
+ },
1034
+
1035
+ destroy : function(hide) {
1036
+ if (hide) this.table.style.visibility = 'hidden';
1037
+ else hs.discardElement(this.table);
1038
+ }
1039
+ };
1040
+
1041
+ hs.Dimension = function(exp, dim) {
1042
+ this.exp = exp;
1043
+ this.dim = dim;
1044
+ this.ucwh = dim == 'x' ? 'Width' : 'Height';
1045
+ this.wh = this.ucwh.toLowerCase();
1046
+ this.uclt = dim == 'x' ? 'Left' : 'Top';
1047
+ this.lt = this.uclt.toLowerCase();
1048
+ this.ucrb = dim == 'x' ? 'Right' : 'Bottom';
1049
+ this.rb = this.ucrb.toLowerCase();
1050
+ this.p1 = this.p2 = 0;
1051
+ };
1052
+ hs.Dimension.prototype = {
1053
+ get : function(key) {
1054
+ switch (key) {
1055
+ case 'loadingPos':
1056
+ return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2;
1057
+ case 'loadingPosXfade':
1058
+ return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2;
1059
+ case 'wsize':
1060
+ return this.size + 2 * this.cb + this.p1 + this.p2;
1061
+ case 'fitsize':
1062
+ return this.clientSize - this.marginMin - this.marginMax;
1063
+ case 'maxsize':
1064
+ return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ;
1065
+ case 'opos':
1066
+ return this.pos - (this.exp.outline ? this.exp.outline.offset : 0);
1067
+ case 'osize':
1068
+ return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0);
1069
+ case 'imgPad':
1070
+ return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0;
1071
+
1072
+ }
1073
+ },
1074
+ calcBorders: function() {
1075
+ // correct for borders
1076
+ this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2;
1077
+
1078
+ this.marginMax = hs['margin'+ this.ucrb];
1079
+ },
1080
+ calcThumb: function() {
1081
+ this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) :
1082
+ this.exp.el['offset'+ this.ucwh];
1083
+ this.tpos = this.exp.tpos[this.dim];
1084
+ this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2;
1085
+ if (this.tpos == 0 || this.tpos == -1) {
1086
+ this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt];
1087
+ };
1088
+ },
1089
+ calcExpanded: function() {
1090
+ var exp = this.exp;
1091
+ this.justify = 'auto';
1092
+
1093
+ // get alignment
1094
+ if (exp.align == 'center') this.justify = 'center';
1095
+ else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null;
1096
+ else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max';
1097
+
1098
+
1099
+ // size and position
1100
+ this.pos = this.tpos - this.cb + this.tb;
1101
+
1102
+ if (this.maxHeight && this.dim == 'x')
1103
+ exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full);
1104
+
1105
+ this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full);
1106
+ this.minSize = exp.allowSizeReduction ?
1107
+ Math.min(exp['min'+ this.ucwh], this.full) :this.full;
1108
+ if (exp.isImage && exp.useBox) {
1109
+ this.size = exp[this.wh];
1110
+ this.imgSize = this.full;
1111
+ }
1112
+ if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth;
1113
+ this.target = exp['target'+ this.dim.toUpperCase()];
1114
+ this.marginMin = hs['margin'+ this.uclt];
1115
+ this.scroll = hs.page['scroll'+ this.uclt];
1116
+ this.clientSize = hs.page[this.wh];
1117
+ },
1118
+ setSize: function(i) {
1119
+ var exp = this.exp;
1120
+ if (exp.isImage && (exp.useBox || hs.padToMinWidth)) {
1121
+ this.imgSize = i;
1122
+ this.size = Math.max(this.size, this.imgSize);
1123
+ exp.content.style[this.lt] = this.get('imgPad')+'px';
1124
+ } else
1125
+ this.size = i;
1126
+
1127
+ exp.content.style[this.wh] = i +'px';
1128
+ exp.wrapper.style[this.wh] = this.get('wsize') +'px';
1129
+ if (exp.outline) exp.outline.setPosition();
1130
+ if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true);
1131
+ if (this.dim == 'x' && exp.slideshow && exp.isImage) {
1132
+ if (i == this.full) exp.slideshow.disable('full-expand');
1133
+ else exp.slideshow.enable('full-expand');
1134
+ }
1135
+ },
1136
+ setPos: function(i) {
1137
+ this.pos = i;
1138
+ this.exp.wrapper.style[this.lt] = i +'px';
1139
+
1140
+ if (this.exp.outline) this.exp.outline.setPosition();
1141
+
1142
+ }
1143
+ };
1144
+
1145
+ hs.Expander = function(a, params, custom, contentType) {
1146
+ if (document.readyState && hs.ie && !hs.isReady) {
1147
+ hs.addEventListener(document, 'ready', function() {
1148
+ new hs.Expander(a, params, custom, contentType);
1149
+ });
1150
+ return;
1151
+ }
1152
+ this.a = a;
1153
+ this.custom = custom;
1154
+ this.contentType = contentType || 'image';
1155
+ this.isImage = !this.isHtml;
1156
+
1157
+ hs.continuePreloading = false;
1158
+ this.overlays = [];
1159
+ this.last = hs.last;
1160
+ hs.last = null;
1161
+ hs.init();
1162
+ var key = this.key = hs.expanders.length;
1163
+ // override inline parameters
1164
+ for (var i = 0; i < hs.overrides.length; i++) {
1165
+ var name = hs.overrides[i];
1166
+ this[name] = params && typeof params[name] != 'undefined' ?
1167
+ params[name] : hs[name];
1168
+ }
1169
+ if (!this.src) this.src = a.href;
1170
+
1171
+ // get thumb
1172
+ var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a;
1173
+ el = this.thumb = el.getElementsByTagName('img')[0] || el;
1174
+ this.thumbsUserSetId = el.id || a.id;
1175
+
1176
+ // check if already open
1177
+ for (var i = 0; i < hs.expanders.length; i++) {
1178
+ if (hs.expanders[i] && hs.expanders[i].a == a
1179
+ && !(this.last && this.transitions[1] == 'crossfade')) {
1180
+ hs.expanders[i].focus();
1181
+ return false;
1182
+ }
1183
+ }
1184
+
1185
+ // cancel other
1186
+ if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) {
1187
+ if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) {
1188
+ hs.expanders[i].cancelLoading();
1189
+ }
1190
+ }
1191
+ hs.expanders[key] = this;
1192
+ if (!hs.allowMultipleInstances && !hs.upcoming) {
1193
+ if (hs.expanders[key-1]) hs.expanders[key-1].close();
1194
+ if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey])
1195
+ hs.expanders[hs.focusKey].close();
1196
+ }
1197
+
1198
+ // initiate metrics
1199
+ this.el = el;
1200
+ this.tpos = this.pageOrigin || hs.getPosition(el);
1201
+ hs.getPageSize();
1202
+ var x = this.x = new hs.Dimension(this, 'x');
1203
+ x.calcThumb();
1204
+ var y = this.y = new hs.Dimension(this, 'y');
1205
+ y.calcThumb();
1206
+ this.wrapper = hs.createElement(
1207
+ 'div', {
1208
+ id: 'highslide-wrapper-'+ this.key,
1209
+ className: 'highslide-wrapper '+ this.wrapperClassName
1210
+ }, {
1211
+ visibility: 'hidden',
1212
+ position: 'absolute',
1213
+ zIndex: hs.zIndexCounter += 2
1214
+ }, null, true );
1215
+
1216
+ this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler;
1217
+ if (this.contentType == 'image' && this.outlineWhileAnimating == 2)
1218
+ this.outlineWhileAnimating = 0;
1219
+
1220
+ // get the outline
1221
+ if (!this.outlineType
1222
+ || (this.last && this.isImage && this.transitions[1] == 'crossfade')) {
1223
+ this[this.contentType +'Create']();
1224
+
1225
+ } else if (hs.pendingOutlines[this.outlineType]) {
1226
+ this.connectOutline();
1227
+ this[this.contentType +'Create']();
1228
+
1229
+ } else {
1230
+ this.showLoading();
1231
+ var exp = this;
1232
+ new hs.Outline(this.outlineType,
1233
+ function () {
1234
+ exp.connectOutline();
1235
+ exp[exp.contentType +'Create']();
1236
+ }
1237
+ );
1238
+ }
1239
+ return true;
1240
+ };
1241
+
1242
+ hs.Expander.prototype = {
1243
+ error : function(e) {
1244
+ if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message);
1245
+ else window.location.href = this.src;
1246
+ },
1247
+
1248
+ connectOutline : function() {
1249
+ var outline = this.outline = hs.pendingOutlines[this.outlineType];
1250
+ outline.exp = this;
1251
+ outline.table.style.zIndex = this.wrapper.style.zIndex - 1;
1252
+ hs.pendingOutlines[this.outlineType] = null;
1253
+ },
1254
+
1255
+ showLoading : function() {
1256
+ if (this.onLoadStarted || this.loading) return;
1257
+
1258
+ this.loading = hs.loading;
1259
+ var exp = this;
1260
+ this.loading.onclick = function() {
1261
+ exp.cancelLoading();
1262
+ };
1263
+ var exp = this,
1264
+ l = this.x.get('loadingPos') +'px',
1265
+ t = this.y.get('loadingPos') +'px';
1266
+ if (!tgt && this.last && this.transitions[1] == 'crossfade')
1267
+ var tgt = this.last;
1268
+ if (tgt) {
1269
+ l = tgt.x.get('loadingPosXfade') +'px';
1270
+ t = tgt.y.get('loadingPosXfade') +'px';
1271
+ this.loading.style.zIndex = hs.zIndexCounter++;
1272
+ }
1273
+ setTimeout(function () {
1274
+ if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })}
1275
+ , 100);
1276
+ },
1277
+
1278
+ imageCreate : function() {
1279
+ var exp = this;
1280
+
1281
+ var img = document.createElement('img');
1282
+ this.content = img;
1283
+ img.onload = function () {
1284
+ if (hs.expanders[exp.key]) exp.contentLoaded();
1285
+ };
1286
+ if (hs.blockRightClick) img.oncontextmenu = function() { return false; };
1287
+ img.className = 'highslide-image';
1288
+ hs.setStyles(img, {
1289
+ visibility: 'hidden',
1290
+ display: 'block',
1291
+ position: 'absolute',
1292
+ maxWidth: '9999px',
1293
+ zIndex: 3
1294
+ });
1295
+ img.title = hs.lang.restoreTitle;
1296
+ if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img);
1297
+ if (hs.ie && hs.flushImgSize) img.src = null;
1298
+ img.src = this.src;
1299
+
1300
+ this.showLoading();
1301
+ },
1302
+
1303
+ contentLoaded : function() {
1304
+ try {
1305
+ if (!this.content) return;
1306
+ this.content.onload = null;
1307
+ if (this.onLoadStarted) return;
1308
+ else this.onLoadStarted = true;
1309
+
1310
+ var x = this.x, y = this.y;
1311
+
1312
+ if (this.loading) {
1313
+ hs.setStyles(this.loading, { top: '-9999px' });
1314
+ this.loading = null;
1315
+ }
1316
+ x.full = this.content.width;
1317
+ y.full = this.content.height;
1318
+
1319
+ hs.setStyles(this.content, {
1320
+ width: x.t +'px',
1321
+ height: y.t +'px'
1322
+ });
1323
+ this.wrapper.appendChild(this.content);
1324
+ hs.container.appendChild(this.wrapper);
1325
+
1326
+ x.calcBorders();
1327
+ y.calcBorders();
1328
+
1329
+ hs.setStyles (this.wrapper, {
1330
+ left: (x.tpos + x.tb - x.cb) +'px',
1331
+ top: (y.tpos + x.tb - y.cb) +'px'
1332
+ });
1333
+
1334
+
1335
+ this.initSlideshow();
1336
+ this.getOverlays();
1337
+
1338
+ var ratio = x.full / y.full;
1339
+ x.calcExpanded();
1340
+ this.justify(x);
1341
+
1342
+ y.calcExpanded();
1343
+ this.justify(y);
1344
+ if (this.overlayBox) this.sizeOverlayBox(0, 1);
1345
+
1346
+
1347
+ if (this.allowSizeReduction) {
1348
+ this.correctRatio(ratio);
1349
+ var ss = this.slideshow;
1350
+ if (ss && this.last && ss.controls && ss.fixedControls) {
1351
+ var pos = ss.overlayOptions.position || '', p;
1352
+ for (var dim in hs.oPos) for (var i = 0; i < 5; i++) {
1353
+ p = this[dim];
1354
+ if (pos.match(hs.oPos[dim][i])) {
1355
+ p.pos = this.last[dim].pos
1356
+ + (this.last[dim].p1 - p.p1)
1357
+ + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i];
1358
+ if (ss.fixedControls == 'fit') {
1359
+ if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax)
1360
+ p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2;
1361
+ if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin;
1362
+ }
1363
+ }
1364
+ }
1365
+ }
1366
+ if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) {
1367
+ this.createFullExpand();
1368
+ if (this.overlays.length == 1) this.sizeOverlayBox();
1369
+ }
1370
+ }
1371
+ this.show();
1372
+
1373
+ } catch (e) {
1374
+ this.error(e);
1375
+ }
1376
+ },
1377
+
1378
+ justify : function (p, moveOnly) {
1379
+ var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y';
1380
+
1381
+ if (tgt && tgt.match(/ /)) {
1382
+ tgtArr = tgt.split(' ');
1383
+ tgt = tgtArr[0];
1384
+ }
1385
+ if (tgt && hs.$(tgt)) {
1386
+ p.pos = hs.getPosition(hs.$(tgt))[dim];
1387
+ if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/))
1388
+ p.pos += parseInt(tgtArr[1]);
1389
+ if (p.size < p.minSize) p.size = p.minSize;
1390
+
1391
+ } else if (p.justify == 'auto' || p.justify == 'center') {
1392
+
1393
+ var hasMovedMin = false;
1394
+
1395
+ var allowReduce = p.exp.allowSizeReduction;
1396
+ if (p.justify == 'center')
1397
+ p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2);
1398
+ else
1399
+ p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2));
1400
+ if (p.pos < p.scroll + p.marginMin) {
1401
+ p.pos = p.scroll + p.marginMin;
1402
+ hasMovedMin = true;
1403
+ }
1404
+ if (!moveOnly && p.size < p.minSize) {
1405
+ p.size = p.minSize;
1406
+ allowReduce = false;
1407
+ }
1408
+ if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) {
1409
+ if (!moveOnly && hasMovedMin && allowReduce) {
1410
+ p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize'));
1411
+ } else if (p.get('wsize') < p.get('fitsize')) {
1412
+ p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize');
1413
+ } else { // image larger than viewport
1414
+ p.pos = p.scroll + p.marginMin;
1415
+ if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize');
1416
+ }
1417
+ }
1418
+
1419
+ if (!moveOnly && p.size < p.minSize) {
1420
+ p.size = p.minSize;
1421
+ allowReduce = false;
1422
+ }
1423
+
1424
+
1425
+ } else if (p.justify == 'max') {
1426
+ p.pos = Math.floor(p.pos - p.size + p.t);
1427
+ }
1428
+
1429
+
1430
+ if (p.pos < p.marginMin) {
1431
+ var tmpMin = p.pos;
1432
+ p.pos = p.marginMin;
1433
+
1434
+ if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin);
1435
+
1436
+ }
1437
+ },
1438
+
1439
+ correctRatio : function(ratio) {
1440
+ var x = this.x,
1441
+ y = this.y,
1442
+ changed = false,
1443
+ xSize = Math.min(x.full, x.size),
1444
+ ySize = Math.min(y.full, y.size),
1445
+ useBox = (this.useBox || hs.padToMinWidth);
1446
+
1447
+ if (xSize / ySize > ratio) { // width greater
1448
+ xSize = ySize * ratio;
1449
+ if (xSize < x.minSize) { // below minWidth
1450
+ xSize = x.minSize;
1451
+ ySize = xSize / ratio;
1452
+ }
1453
+ changed = true;
1454
+
1455
+ } else if (xSize / ySize < ratio) { // height greater
1456
+ ySize = xSize / ratio;
1457
+ changed = true;
1458
+ }
1459
+
1460
+ if (hs.padToMinWidth && x.full < x.minSize) {
1461
+ x.imgSize = x.full;
1462
+ y.size = y.imgSize = y.full;
1463
+ } else if (this.useBox) {
1464
+ x.imgSize = xSize;
1465
+ y.imgSize = ySize;
1466
+ } else {
1467
+ x.size = xSize;
1468
+ y.size = ySize;
1469
+ }
1470
+ changed = this.fitOverlayBox(this.useBox ? null : ratio, changed);
1471
+ if (useBox && y.size < y.imgSize) {
1472
+ y.imgSize = y.size;
1473
+ x.imgSize = y.size * ratio;
1474
+ }
1475
+ if (changed || useBox) {
1476
+ x.pos = x.tpos - x.cb + x.tb;
1477
+ x.minSize = x.size;
1478
+ this.justify(x, true);
1479
+
1480
+ y.pos = y.tpos - y.cb + y.tb;
1481
+ y.minSize = y.size;
1482
+ this.justify(y, true);
1483
+ if (this.overlayBox) this.sizeOverlayBox();
1484
+ }
1485
+
1486
+
1487
+ },
1488
+ fitOverlayBox : function(ratio, changed) {
1489
+ var x = this.x, y = this.y;
1490
+ if (this.overlayBox) {
1491
+ while (y.size > this.minHeight && x.size > this.minWidth
1492
+ && y.get('wsize') > y.get('fitsize')) {
1493
+ y.size -= 10;
1494
+ if (ratio) x.size = y.size * ratio;
1495
+ this.sizeOverlayBox(0, 1);
1496
+ changed = true;
1497
+ }
1498
+ }
1499
+ return changed;
1500
+ },
1501
+
1502
+ show : function () {
1503
+ var x = this.x, y = this.y;
1504
+ this.doShowHide('hidden');
1505
+ if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb();
1506
+
1507
+ // Apply size change
1508
+ this.changeSize(
1509
+ 1, {
1510
+ wrapper: {
1511
+ width : x.get('wsize'),
1512
+ height : y.get('wsize'),
1513
+ left: x.pos,
1514
+ top: y.pos
1515
+ },
1516
+ content: {
1517
+ left: x.p1 + x.get('imgPad'),
1518
+ top: y.p1 + y.get('imgPad'),
1519
+ width:x.imgSize ||x.size,
1520
+ height:y.imgSize ||y.size
1521
+ }
1522
+ },
1523
+ hs.expandDuration
1524
+ );
1525
+ },
1526
+
1527
+ changeSize : function(up, to, dur) {
1528
+ // transition
1529
+ var trans = this.transitions,
1530
+ other = up ? (this.last ? this.last.a : null) : hs.upcoming,
1531
+ t = (trans[1] && other
1532
+ && hs.getParam(other, 'transitions')[1] == trans[1]) ?
1533
+ trans[1] : trans[0];
1534
+
1535
+ if (this[t] && t != 'expand') {
1536
+ this[t](up, to);
1537
+ return;
1538
+ }
1539
+
1540
+ if (this.outline && !this.outlineWhileAnimating) {
1541
+ if (up) this.outline.setPosition();
1542
+ else this.outline.destroy();
1543
+ }
1544
+
1545
+
1546
+ if (!up) this.destroyOverlays();
1547
+
1548
+ var exp = this,
1549
+ x = exp.x,
1550
+ y = exp.y,
1551
+ easing = this.easing;
1552
+ if (!up) easing = this.easingClose || easing;
1553
+ var after = up ?
1554
+ function() {
1555
+
1556
+ if (exp.outline) exp.outline.table.style.visibility = "visible";
1557
+ setTimeout(function() {
1558
+ exp.afterExpand();
1559
+ }, 50);
1560
+ } :
1561
+ function() {
1562
+ exp.afterClose();
1563
+ };
1564
+ if (up) hs.setStyles( this.wrapper, {
1565
+ width: x.t +'px',
1566
+ height: y.t +'px'
1567
+ });
1568
+ if (this.fadeInOut) {
1569
+ hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 });
1570
+ hs.extend(to.wrapper, { opacity: up });
1571
+ }
1572
+ hs.animate( this.wrapper, to.wrapper, {
1573
+ duration: dur,
1574
+ easing: easing,
1575
+ step: function(val, args) {
1576
+ if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') {
1577
+ var fac = up ? args.pos : 1 - args.pos;
1578
+ var pos = {
1579
+ w: x.t + (x.get('wsize') - x.t) * fac,
1580
+ h: y.t + (y.get('wsize') - y.t) * fac,
1581
+ x: x.tpos + (x.pos - x.tpos) * fac,
1582
+ y: y.tpos + (y.pos - y.tpos) * fac
1583
+ };
1584
+ exp.outline.setPosition(pos, 0, 1);
1585
+ }
1586
+ }
1587
+ });
1588
+ hs.animate( this.content, to.content, dur, easing, after);
1589
+ if (up) {
1590
+ this.wrapper.style.visibility = 'visible';
1591
+ this.content.style.visibility = 'visible';
1592
+ this.a.className += ' highslide-active-anchor';
1593
+ }
1594
+ },
1595
+
1596
+
1597
+
1598
+ fade : function(up, to) {
1599
+ this.outlineWhileAnimating = false;
1600
+ var exp = this, t = up ? hs.expandDuration : 0;
1601
+
1602
+ if (up) {
1603
+ hs.animate(this.wrapper, to.wrapper, 0);
1604
+ hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' });
1605
+ hs.animate(this.content, to.content, 0);
1606
+ this.content.style.visibility = 'visible';
1607
+
1608
+ hs.animate(this.wrapper, { opacity: 1 }, t, null,
1609
+ function() { exp.afterExpand(); });
1610
+ }
1611
+
1612
+ if (this.outline) {
1613
+ this.outline.table.style.zIndex = this.wrapper.style.zIndex;
1614
+ var dir = up || -1,
1615
+ offset = this.outline.offset,
1616
+ startOff = up ? 3 : offset,
1617
+ endOff = up? offset : 3;
1618
+ for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) {
1619
+ (function() {
1620
+ var o = up ? endOff - i : startOff - i;
1621
+ setTimeout(function() {
1622
+ exp.outline.setPosition(0, o, 1);
1623
+ }, t);
1624
+ })();
1625
+ }
1626
+ }
1627
+
1628
+
1629
+ if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50);
1630
+ else {
1631
+ setTimeout( function() {
1632
+ if (exp.outline) exp.outline.destroy(exp.preserveContent);
1633
+
1634
+ exp.destroyOverlays();
1635
+
1636
+ hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){
1637
+ exp.afterClose();
1638
+ });
1639
+ }, t);
1640
+ }
1641
+ },
1642
+ crossfade : function (up, to, from) {
1643
+ if (!up) return;
1644
+ var exp = this,
1645
+ last = this.last,
1646
+ x = this.x,
1647
+ y = this.y,
1648
+ lastX = last.x,
1649
+ lastY = last.y,
1650
+ wrapper = this.wrapper,
1651
+ content = this.content,
1652
+ overlayBox = this.overlayBox;
1653
+ hs.removeEventListener(document, 'mousemove', hs.dragHandler);
1654
+
1655
+ hs.setStyles(content, {
1656
+ width: (x.imgSize || x.size) +'px',
1657
+ height: (y.imgSize || y.size) +'px'
1658
+ });
1659
+ if (overlayBox) overlayBox.style.overflow = 'visible';
1660
+ this.outline = last.outline;
1661
+ if (this.outline) this.outline.exp = exp;
1662
+ last.outline = null;
1663
+ var fadeBox = hs.createElement('div', {
1664
+ className: 'highslide-'+ this.contentType
1665
+ }, {
1666
+ position: 'absolute',
1667
+ zIndex: 4,
1668
+ overflow: 'hidden',
1669
+ display: 'none'
1670
+ }
1671
+ );
1672
+ var names = { oldImg: last, newImg: this };
1673
+ for (var n in names) {
1674
+ this[n] = names[n].content.cloneNode(1);
1675
+ hs.setStyles(this[n], {
1676
+ position: 'absolute',
1677
+ border: 0,
1678
+ visibility: 'visible'
1679
+ });
1680
+ fadeBox.appendChild(this[n]);
1681
+ }
1682
+ wrapper.appendChild(fadeBox);
1683
+ if (overlayBox) {
1684
+ overlayBox.className = '';
1685
+ wrapper.appendChild(overlayBox);
1686
+ }
1687
+ fadeBox.style.display = '';
1688
+ last.content.style.display = 'none';
1689
+
1690
+
1691
+ if (hs.safari && hs.uaVersion < 525) {
1692
+ this.wrapper.style.visibility = 'visible';
1693
+ }
1694
+ hs.animate(wrapper, {
1695
+ width: x.size
1696
+ }, {
1697
+ duration: hs.transitionDuration,
1698
+ step: function(val, args) {
1699
+ var pos = args.pos,
1700
+ invPos = 1 - pos;
1701
+ var prop,
1702
+ size = {},
1703
+ props = ['pos', 'size', 'p1', 'p2'];
1704
+ for (var n in props) {
1705
+ prop = props[n];
1706
+ size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]);
1707
+ size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]);
1708
+ size.ximgSize = Math.round(
1709
+ invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size));
1710
+ size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad'));
1711
+ size.yimgSize = Math.round(
1712
+ invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size));
1713
+ size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad'));
1714
+ }
1715
+ if (exp.outline) exp.outline.setPosition({
1716
+ x: size.xpos,
1717
+ y: size.ypos,
1718
+ w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb,
1719
+ h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb
1720
+ });
1721
+ last.wrapper.style.clip = 'rect('
1722
+ + (size.ypos - lastY.pos)+'px, '
1723
+ + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, '
1724
+ + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, '
1725
+ + (size.xpos - lastX.pos)+'px)';
1726
+
1727
+ hs.setStyles(content, {
1728
+ top: (size.yp1 + y.get('imgPad')) +'px',
1729
+ left: (size.xp1 + x.get('imgPad')) +'px',
1730
+ marginTop: (y.pos - size.ypos) +'px',
1731
+ marginLeft: (x.pos - size.xpos) +'px'
1732
+ });
1733
+ hs.setStyles(wrapper, {
1734
+ top: size.ypos +'px',
1735
+ left: size.xpos +'px',
1736
+ width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px',
1737
+ height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px'
1738
+ });
1739
+ hs.setStyles(fadeBox, {
1740
+ width: (size.ximgSize || size.xsize) + 'px',
1741
+ height: (size.yimgSize || size.ysize) +'px',
1742
+ left: (size.xp1 + size.ximgPad) +'px',
1743
+ top: (size.yp1 + size.yimgPad) +'px',
1744
+ visibility: 'visible'
1745
+ });
1746
+
1747
+ hs.setStyles(exp.oldImg, {
1748
+ top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px',
1749
+ left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px'
1750
+ });
1751
+
1752
+ hs.setStyles(exp.newImg, {
1753
+ opacity: pos,
1754
+ top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px',
1755
+ left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px'
1756
+ });
1757
+ if (overlayBox) hs.setStyles(overlayBox, {
1758
+ width: size.xsize + 'px',
1759
+ height: size.ysize +'px',
1760
+ left: (size.xp1 + x.cb) +'px',
1761
+ top: (size.yp1 + y.cb) +'px'
1762
+ });
1763
+ },
1764
+ complete: function () {
1765
+ wrapper.style.visibility = content.style.visibility = 'visible';
1766
+ content.style.display = 'block';
1767
+ hs.discardElement(fadeBox);
1768
+ exp.afterExpand();
1769
+ last.afterClose();
1770
+ exp.last = null;
1771
+ }
1772
+
1773
+ });
1774
+ },
1775
+ reuseOverlay : function(o, el) {
1776
+ if (!this.last) return false;
1777
+ for (var i = 0; i < this.last.overlays.length; i++) {
1778
+ var oDiv = hs.$('hsId'+ this.last.overlays[i]);
1779
+ if (oDiv && oDiv.hsId == o.hsId) {
1780
+ this.genOverlayBox();
1781
+ oDiv.reuse = this.key;
1782
+ hs.push(this.overlays, this.last.overlays[i]);
1783
+ return true;
1784
+ }
1785
+ }
1786
+ return false;
1787
+ },
1788
+
1789
+
1790
+ afterExpand : function() {
1791
+ this.isExpanded = true;
1792
+ this.focus();
1793
+ if (this.dimmingOpacity) hs.dim(this);
1794
+ if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null;
1795
+ this.prepareNextOutline();
1796
+ var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop;
1797
+ this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize')
1798
+ && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize');
1799
+ if (this.overlayBox) this.showOverlays();
1800
+
1801
+ },
1802
+
1803
+
1804
+ prepareNextOutline : function() {
1805
+ var key = this.key;
1806
+ var outlineType = this.outlineType;
1807
+ new hs.Outline(outlineType,
1808
+ function () { try { hs.expanders[key].preloadNext(); } catch (e) {} });
1809
+ },
1810
+
1811
+
1812
+ preloadNext : function() {
1813
+ var next = this.getAdjacentAnchor(1);
1814
+ if (next && next.onclick.toString().match(/hs\.expand/))
1815
+ var img = hs.createElement('img', { src: hs.getSrc(next) });
1816
+ },
1817
+
1818
+
1819
+ getAdjacentAnchor : function(op) {
1820
+ var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none'];
1821
+ if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) {
1822
+ if (op == 1) return as[0];
1823
+ else if (op == -1) return as[as.length-1];
1824
+ }
1825
+ return (as && as[current + op]) || null;
1826
+ },
1827
+
1828
+ getAnchorIndex : function() {
1829
+ var arr = hs.getAnchors().groups[this.slideshowGroup || 'none'];
1830
+ if (arr) for (var i = 0; i < arr.length; i++) {
1831
+ if (arr[i] == this.a) return i;
1832
+ }
1833
+ return null;
1834
+ },
1835
+
1836
+
1837
+ getNumber : function() {
1838
+ if (this[this.numberPosition]) {
1839
+ var arr = hs.anchors.groups[this.slideshowGroup || 'none'];
1840
+ if (arr) {
1841
+ var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length);
1842
+ this[this.numberPosition].innerHTML =
1843
+ '<div class="highslide-number">'+ s +'</div>'+ this[this.numberPosition].innerHTML;
1844
+ }
1845
+ }
1846
+ },
1847
+ initSlideshow : function() {
1848
+ if (!this.last) {
1849
+ for (var i = 0; i < hs.slideshows.length; i++) {
1850
+ var ss = hs.slideshows[i], sg = ss.slideshowGroup;
1851
+ if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup)
1852
+ this.slideshow = new hs.Slideshow(this.key, ss);
1853
+ }
1854
+ } else {
1855
+ this.slideshow = this.last.slideshow;
1856
+ }
1857
+ var ss = this.slideshow;
1858
+ if (!ss) return;
1859
+ var key = ss.expKey = this.key;
1860
+
1861
+ ss.checkFirstAndLast();
1862
+ ss.disable('full-expand');
1863
+ if (ss.controls) {
1864
+ this.createOverlay(hs.extend(ss.overlayOptions || {}, {
1865
+ overlayId: ss.controls,
1866
+ hsId: 'controls',
1867
+ zIndex: 5
1868
+ }));
1869
+ }
1870
+ if (ss.thumbstrip) ss.thumbstrip.add(this);
1871
+ if (!this.last && this.autoplay) ss.play(true);
1872
+ if (ss.autoplay) {
1873
+ ss.autoplay = setTimeout(function() {
1874
+ hs.next(key);
1875
+ }, (ss.interval || 500));
1876
+ }
1877
+ },
1878
+
1879
+ cancelLoading : function() {
1880
+ hs.discardElement (this.wrapper);
1881
+ hs.expanders[this.key] = null;
1882
+ if (hs.upcoming == this.a) hs.upcoming = null;
1883
+ hs.undim(this.key);
1884
+ if (this.loading) hs.loading.style.left = '-9999px';
1885
+ },
1886
+
1887
+ writeCredits : function () {
1888
+ if (this.credits) return;
1889
+ this.credits = hs.createElement('a', {
1890
+ href: hs.creditsHref,
1891
+ target: hs.creditsTarget,
1892
+ className: 'highslide-credits',
1893
+ innerHTML: hs.lang.creditsText,
1894
+ title: hs.lang.creditsTitle
1895
+ });
1896
+ this.createOverlay({
1897
+ overlayId: this.credits,
1898
+ position: this.creditsPosition || 'top left',
1899
+ hsId: 'credits'
1900
+ });
1901
+ },
1902
+
1903
+ getInline : function(types, addOverlay) {
1904
+ for (var i = 0; i < types.length; i++) {
1905
+ var type = types[i], s = null;
1906
+ if (!this[type +'Id'] && this.thumbsUserSetId)
1907
+ this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId;
1908
+ if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']);
1909
+ if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try {
1910
+ s = eval(this[type +'Eval']);
1911
+ } catch (e) {}
1912
+ if (!this[type] && this[type +'Text']) {
1913
+ s = this[type +'Text'];
1914
+ }
1915
+ if (!this[type] && !s) {
1916
+ this[type] = hs.getNode(this.a['_'+ type + 'Id']);
1917
+ if (!this[type]) {
1918
+ var next = this.a.nextSibling;
1919
+ while (next && !hs.isHsAnchor(next)) {
1920
+ if ((new RegExp('highslide-'+ type)).test(next.className || null)) {
1921
+ if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++;
1922
+ this[type] = hs.getNode(next.id);
1923
+ break;
1924
+ }
1925
+ next = next.nextSibling;
1926
+ }
1927
+ }
1928
+ }
1929
+ if (!this[type] && !s && this.numberPosition == type) s = '\n';
1930
+
1931
+ if (!this[type] && s) this[type] = hs.createElement('div',
1932
+ { className: 'highslide-'+ type, innerHTML: s } );
1933
+
1934
+ if (addOverlay && this[type]) {
1935
+ var o = { position: (type == 'heading') ? 'above' : 'below' };
1936
+ for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x];
1937
+ o.overlayId = this[type];
1938
+ this.createOverlay(o);
1939
+ }
1940
+ }
1941
+ },
1942
+
1943
+
1944
+ // on end move and resize
1945
+ doShowHide : function(visibility) {
1946
+ if (hs.hideSelects) this.showHideElements('SELECT', visibility);
1947
+ if (hs.hideIframes) this.showHideElements('IFRAME', visibility);
1948
+ if (hs.geckoMac) this.showHideElements('*', visibility);
1949
+ },
1950
+ showHideElements : function (tagName, visibility) {
1951
+ var els = document.getElementsByTagName(tagName);
1952
+ var prop = tagName == '*' ? 'overflow' : 'visibility';
1953
+ for (var i = 0; i < els.length; i++) {
1954
+ if (prop == 'visibility' || (document.defaultView.getComputedStyle(
1955
+ els[i], "").getPropertyValue('overflow') == 'auto'
1956
+ || els[i].getAttribute('hidden-by') != null)) {
1957
+ var hiddenBy = els[i].getAttribute('hidden-by');
1958
+ if (visibility == 'visible' && hiddenBy) {
1959
+ hiddenBy = hiddenBy.replace('['+ this.key +']', '');
1960
+ els[i].setAttribute('hidden-by', hiddenBy);
1961
+ if (!hiddenBy) els[i].style[prop] = els[i].origProp;
1962
+ } else if (visibility == 'hidden') { // hide if behind
1963
+ var elPos = hs.getPosition(els[i]);
1964
+ elPos.w = els[i].offsetWidth;
1965
+ elPos.h = els[i].offsetHeight;
1966
+ if (!this.dimmingOpacity) { // hide all if dimming
1967
+
1968
+ var clearsX = (elPos.x + elPos.w < this.x.get('opos')
1969
+ || elPos.x > this.x.get('opos') + this.x.get('osize'));
1970
+ var clearsY = (elPos.y + elPos.h < this.y.get('opos')
1971
+ || elPos.y > this.y.get('opos') + this.y.get('osize'));
1972
+ }
1973
+ var wrapperKey = hs.getWrapperKey(els[i]);
1974
+ if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image
1975
+ if (!hiddenBy) {
1976
+ els[i].setAttribute('hidden-by', '['+ this.key +']');
1977
+ els[i].origProp = els[i].style[prop];
1978
+ els[i].style[prop] = 'hidden';
1979
+
1980
+ } else if (hiddenBy.indexOf('['+ this.key +']') == -1) {
1981
+ els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']');
1982
+ }
1983
+ } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey)
1984
+ && wrapperKey != this.key) { // on move
1985
+ els[i].setAttribute('hidden-by', '');
1986
+ els[i].style[prop] = els[i].origProp || '';
1987
+ } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) {
1988
+ els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', ''));
1989
+ }
1990
+
1991
+ }
1992
+ }
1993
+ }
1994
+ },
1995
+
1996
+ focus : function() {
1997
+ this.wrapper.style.zIndex = hs.zIndexCounter += 2;
1998
+ // blur others
1999
+ for (var i = 0; i < hs.expanders.length; i++) {
2000
+ if (hs.expanders[i] && i == hs.focusKey) {
2001
+ var blurExp = hs.expanders[i];
2002
+ blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur';
2003
+ blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer';
2004
+ blurExp.content.title = hs.lang.focusTitle;
2005
+ }
2006
+ }
2007
+
2008
+ // focus this
2009
+ if (this.outline) this.outline.table.style.zIndex
2010
+ = this.wrapper.style.zIndex - 1;
2011
+ this.content.className = 'highslide-'+ this.contentType;
2012
+ this.content.title = hs.lang.restoreTitle;
2013
+
2014
+ if (hs.restoreCursor) {
2015
+ hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer';
2016
+ if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand';
2017
+ this.content.style.cursor = hs.styleRestoreCursor;
2018
+ }
2019
+
2020
+ hs.focusKey = this.key;
2021
+ hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
2022
+ },
2023
+ moveTo: function(x, y) {
2024
+ this.x.setPos(x);
2025
+ this.y.setPos(y);
2026
+ },
2027
+ resize : function (e) {
2028
+ var w, h, r = e.width / e.height;
2029
+ w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full));
2030
+ if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full;
2031
+ h = w / r;
2032
+ if (h < Math.min(this.minHeight, this.y.full)) {
2033
+ h = Math.min(this.minHeight, this.y.full);
2034
+ if (this.isImage) w = h * r;
2035
+ }
2036
+ this.resizeTo(w, h);
2037
+ },
2038
+ resizeTo: function(w, h) {
2039
+ this.y.setSize(h);
2040
+ this.x.setSize(w);
2041
+ this.wrapper.style.height = this.y.get('wsize') +'px';
2042
+ },
2043
+
2044
+ close : function() {
2045
+ if (this.isClosing || !this.isExpanded) return;
2046
+ if (this.transitions[1] == 'crossfade' && hs.upcoming) {
2047
+ hs.getExpander(hs.upcoming).cancelLoading();
2048
+ hs.upcoming = null;
2049
+ }
2050
+ this.isClosing = true;
2051
+ if (this.slideshow && !hs.upcoming) this.slideshow.pause();
2052
+
2053
+ hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
2054
+
2055
+ try {
2056
+ this.content.style.cursor = 'default';
2057
+ this.changeSize(
2058
+ 0, {
2059
+ wrapper: {
2060
+ width : this.x.t,
2061
+ height : this.y.t,
2062
+ left: this.x.tpos - this.x.cb + this.x.tb,
2063
+ top: this.y.tpos - this.y.cb + this.y.tb
2064
+ },
2065
+ content: {
2066
+ left: 0,
2067
+ top: 0,
2068
+ width: this.x.t,
2069
+ height: this.y.t
2070
+ }
2071
+ }, hs.restoreDuration
2072
+ );
2073
+ } catch (e) { this.afterClose(); }
2074
+ },
2075
+
2076
+ createOverlay : function (o) {
2077
+ var el = o.overlayId,
2078
+ relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position));
2079
+ if (typeof el == 'string') el = hs.getNode(el);
2080
+ if (o.html) el = hs.createElement('div', { innerHTML: o.html });
2081
+ if (!el || typeof el == 'string') return;
2082
+ el.style.display = 'block';
2083
+ o.hsId = o.hsId || o.overlayId;
2084
+ if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return;
2085
+ this.genOverlayBox();
2086
+ var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto';
2087
+ if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px';
2088
+ var overlay = hs.createElement(
2089
+ 'div', {
2090
+ id: 'hsId'+ hs.idCounter++,
2091
+ hsId: o.hsId
2092
+ }, {
2093
+ position: 'absolute',
2094
+ visibility: 'hidden',
2095
+ width: width,
2096
+ direction: hs.lang.cssDirection || '',
2097
+ opacity: 0
2098
+ },
2099
+ relToVP ? hs.viewport :this.overlayBox,
2100
+ true
2101
+ );
2102
+ if (relToVP) overlay.hsKey = this.key;
2103
+
2104
+ overlay.appendChild(el);
2105
+ hs.extend(overlay, {
2106
+ opacity: 1,
2107
+ offsetX: 0,
2108
+ offsetY: 0,
2109
+ dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250
2110
+ });
2111
+ hs.extend(overlay, o);
2112
+
2113
+
2114
+ if (this.gotOverlays) {
2115
+ this.positionOverlay(overlay);
2116
+ if (!overlay.hideOnMouseOut || this.mouseIsOver)
2117
+ hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur);
2118
+ }
2119
+ hs.push(this.overlays, hs.idCounter - 1);
2120
+ },
2121
+ positionOverlay : function(overlay) {
2122
+ var p = overlay.position || 'middle center',
2123
+ relToVP = (overlay.relativeTo == 'viewport'),
2124
+ offX = overlay.offsetX,
2125
+ offY = overlay.offsetY;
2126
+ if (relToVP) {
2127
+ hs.viewport.style.display = 'block';
2128
+ overlay.hsKey = this.key;
2129
+ if (overlay.offsetWidth > overlay.parentNode.offsetWidth)
2130
+ overlay.style.width = '100%';
2131
+ } else
2132
+ if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay);
2133
+ if (/left$/.test(p)) overlay.style.left = offX +'px';
2134
+
2135
+ if (/center$/.test(p)) hs.setStyles (overlay, {
2136
+ left: '50%',
2137
+ marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px'
2138
+ });
2139
+
2140
+ if (/right$/.test(p)) overlay.style.right = - offX +'px';
2141
+
2142
+ if (/^leftpanel$/.test(p)) {
2143
+ hs.setStyles(overlay, {
2144
+ right: '100%',
2145
+ marginRight: this.x.cb +'px',
2146
+ top: - this.y.cb +'px',
2147
+ bottom: - this.y.cb +'px',
2148
+ overflow: 'auto'
2149
+ });
2150
+ this.x.p1 = overlay.offsetWidth;
2151
+
2152
+ } else if (/^rightpanel$/.test(p)) {
2153
+ hs.setStyles(overlay, {
2154
+ left: '100%',
2155
+ marginLeft: this.x.cb +'px',
2156
+ top: - this.y.cb +'px',
2157
+ bottom: - this.y.cb +'px',
2158
+ overflow: 'auto'
2159
+ });
2160
+ this.x.p2 = overlay.offsetWidth;
2161
+ }
2162
+ var parOff = overlay.parentNode.offsetHeight;
2163
+ overlay.style.height = 'auto';
2164
+ if (relToVP && overlay.offsetHeight > parOff)
2165
+ overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%';
2166
+
2167
+ if (/^top/.test(p)) overlay.style.top = offY +'px';
2168
+ if (/^middle/.test(p)) hs.setStyles (overlay, {
2169
+ top: '50%',
2170
+ marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px'
2171
+ });
2172
+ if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px';
2173
+ if (/^above$/.test(p)) {
2174
+ hs.setStyles(overlay, {
2175
+ left: (- this.x.p1 - this.x.cb) +'px',
2176
+ right: (- this.x.p2 - this.x.cb) +'px',
2177
+ bottom: '100%',
2178
+ marginBottom: this.y.cb +'px',
2179
+ width: 'auto'
2180
+ });
2181
+ this.y.p1 = overlay.offsetHeight;
2182
+
2183
+ } else if (/^below$/.test(p)) {
2184
+ hs.setStyles(overlay, {
2185
+ position: 'relative',
2186
+ left: (- this.x.p1 - this.x.cb) +'px',
2187
+ right: (- this.x.p2 - this.x.cb) +'px',
2188
+ top: '100%',
2189
+ marginTop: this.y.cb +'px',
2190
+ width: 'auto'
2191
+ });
2192
+ this.y.p2 = overlay.offsetHeight;
2193
+ overlay.style.position = 'absolute';
2194
+ }
2195
+ },
2196
+
2197
+ getOverlays : function() {
2198
+ this.getInline(['heading', 'caption'], true);
2199
+ this.getNumber();
2200
+ if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move';
2201
+ if (hs.showCredits) this.writeCredits();
2202
+ for (var i = 0; i < hs.overlays.length; i++) {
2203
+ var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup;
2204
+ if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId)
2205
+ || (sg && sg === this.slideshowGroup)) {
2206
+ this.createOverlay(o);
2207
+ }
2208
+ }
2209
+ var os = [];
2210
+ for (var i = 0; i < this.overlays.length; i++) {
2211
+ var o = hs.$('hsId'+ this.overlays[i]);
2212
+ if (/panel$/.test(o.position)) this.positionOverlay(o);
2213
+ else hs.push(os, o);
2214
+ }
2215
+ for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]);
2216
+ this.gotOverlays = true;
2217
+ },
2218
+ genOverlayBox : function() {
2219
+ if (!this.overlayBox) this.overlayBox = hs.createElement (
2220
+ 'div', {
2221
+ className: this.wrapperClassName
2222
+ }, {
2223
+ position : 'absolute',
2224
+ width: (this.x.size || (this.useBox ? this.width : null)
2225
+ || this.x.full) +'px',
2226
+ height: (this.y.size || this.y.full) +'px',
2227
+ visibility : 'hidden',
2228
+ overflow : 'hidden',
2229
+ zIndex : hs.ie ? 4 : 'auto'
2230
+ },
2231
+ hs.container,
2232
+ true
2233
+ );
2234
+ },
2235
+ sizeOverlayBox : function(doWrapper, doPanels) {
2236
+ var overlayBox = this.overlayBox,
2237
+ x = this.x,
2238
+ y = this.y;
2239
+ hs.setStyles( overlayBox, {
2240
+ width: x.size +'px',
2241
+ height: y.size +'px'
2242
+ });
2243
+ if (doWrapper || doPanels) {
2244
+ for (var i = 0; i < this.overlays.length; i++) {
2245
+ var o = hs.$('hsId'+ this.overlays[i]);
2246
+ var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat');
2247
+ if (o && /^(above|below)$/.test(o.position)) {
2248
+ if (ie6) {
2249
+ o.style.width = (overlayBox.offsetWidth + 2 * x.cb
2250
+ + x.p1 + x.p2) +'px';
2251
+ }
2252
+ y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight;
2253
+ }
2254
+ if (o && ie6 && /^(left|right)panel$/.test(o.position)) {
2255
+ o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px';
2256
+ }
2257
+ }
2258
+ }
2259
+ if (doWrapper) {
2260
+ hs.setStyles(this.content, {
2261
+ top: y.p1 +'px'
2262
+ });
2263
+ hs.setStyles(overlayBox, {
2264
+ top: (y.p1 + y.cb) +'px'
2265
+ });
2266
+ }
2267
+ },
2268
+
2269
+ showOverlays : function() {
2270
+ var b = this.overlayBox;
2271
+ b.className = '';
2272
+ hs.setStyles(b, {
2273
+ top: (this.y.p1 + this.y.cb) +'px',
2274
+ left: (this.x.p1 + this.x.cb) +'px',
2275
+ overflow : 'visible'
2276
+ });
2277
+ if (hs.safari) b.style.visibility = 'visible';
2278
+ this.wrapper.appendChild (b);
2279
+ for (var i = 0; i < this.overlays.length; i++) {
2280
+ var o = hs.$('hsId'+ this.overlays[i]);
2281
+ o.style.zIndex = o.zIndex || 4;
2282
+ if (!o.hideOnMouseOut || this.mouseIsOver) {
2283
+ o.style.visibility = 'visible';
2284
+ hs.setStyles(o, { visibility: 'visible', display: '' });
2285
+ hs.animate(o, { opacity: o.opacity }, o.dur);
2286
+ }
2287
+ }
2288
+ },
2289
+
2290
+ destroyOverlays : function() {
2291
+ if (!this.overlays.length) return;
2292
+ if (this.slideshow) {
2293
+ var c = this.slideshow.controls;
2294
+ if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c);
2295
+ }
2296
+ for (var i = 0; i < this.overlays.length; i++) {
2297
+ var o = hs.$('hsId'+ this.overlays[i]);
2298
+ if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o);
2299
+ }
2300
+ hs.discardElement(this.overlayBox);
2301
+ },
2302
+
2303
+
2304
+
2305
+ createFullExpand : function () {
2306
+ if (this.slideshow && this.slideshow.controls) {
2307
+ this.slideshow.enable('full-expand');
2308
+ return;
2309
+ }
2310
+ this.fullExpandLabel = hs.createElement(
2311
+ 'a', {
2312
+ href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();',
2313
+ title: hs.lang.fullExpandTitle,
2314
+ className: 'highslide-full-expand'
2315
+ }
2316
+ );
2317
+
2318
+ this.createOverlay({
2319
+ overlayId: this.fullExpandLabel,
2320
+ position: hs.fullExpandPosition,
2321
+ hideOnMouseOut: true,
2322
+ opacity: hs.fullExpandOpacity
2323
+ });
2324
+ },
2325
+
2326
+ doFullExpand : function () {
2327
+ try {
2328
+ if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel);
2329
+
2330
+ this.focus();
2331
+ var xSize = this.x.size,
2332
+ ySize = this.y.size;
2333
+ this.resizeTo(this.x.full, this.y.full);
2334
+
2335
+ var xpos = this.x.pos - (this.x.size - xSize) / 2;
2336
+ if (xpos < hs.marginLeft) xpos = hs.marginLeft;
2337
+
2338
+ var ypos = this.y.pos - (this.y.size - ySize) / 2;
2339
+ if (ypos < hs.marginTop) ypos = hs.marginTop;
2340
+
2341
+ this.moveTo(xpos, ypos);
2342
+ this.doShowHide('hidden');
2343
+
2344
+ } catch (e) {
2345
+ this.error(e);
2346
+ }
2347
+ },
2348
+
2349
+
2350
+ afterClose : function () {
2351
+ this.a.className = this.a.className.replace('highslide-active-anchor', '');
2352
+
2353
+ this.doShowHide('visible');
2354
+ if (this.outline && this.outlineWhileAnimating) this.outline.destroy();
2355
+
2356
+ hs.discardElement(this.wrapper);
2357
+ this.destroyOverlays();
2358
+ if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none';
2359
+
2360
+ if (this.dimmingOpacity) hs.undim(this.key);
2361
+ hs.expanders[this.key] = null;
2362
+ hs.reOrder();
2363
+ }
2364
+
2365
+ };
2366
+
2367
+
2368
+ hs.Slideshow = function (expKey, options) {
2369
+ if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors();
2370
+ this.expKey = expKey;
2371
+ for (var x in options) this[x] = options[x];
2372
+ if (this.useControls) this.getControls();
2373
+ if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this);
2374
+ };
2375
+ hs.Slideshow.prototype = {
2376
+ getControls: function() {
2377
+ this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) },
2378
+ null, hs.container);
2379
+
2380
+ var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close'];
2381
+ this.btn = {};
2382
+ var pThis = this;
2383
+ for (var i = 0; i < buttons.length; i++) {
2384
+ this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]);
2385
+ this.enable(buttons[i]);
2386
+ }
2387
+ this.btn.pause.style.display = 'none';
2388
+ //this.disable('full-expand');
2389
+ },
2390
+ checkFirstAndLast: function() {
2391
+ if (this.repeat || !this.controls) return;
2392
+ var exp = hs.expanders[this.expKey],
2393
+ cur = exp.getAnchorIndex(),
2394
+ re = /disabled$/;
2395
+ if (cur == 0)
2396
+ this.disable('previous');
2397
+ else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className))
2398
+ this.enable('previous');
2399
+ if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) {
2400
+ this.disable('next');
2401
+ this.disable('play');
2402
+ } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) {
2403
+ this.enable('next');
2404
+ this.enable('play');
2405
+ }
2406
+ },
2407
+ enable: function(btn) {
2408
+ if (!this.btn) return;
2409
+ var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/;
2410
+ a.onclick = function() {
2411
+ sls[btn]();
2412
+ return false;
2413
+ };
2414
+ if (re.test(a.className)) a.className = a.className.replace(re, '');
2415
+ },
2416
+ disable: function(btn) {
2417
+ if (!this.btn) return;
2418
+ var a = this.btn[btn].getElementsByTagName('a')[0];
2419
+ a.onclick = function() { return false; };
2420
+ if (!/disabled$/.test(a.className)) a.className += ' disabled';
2421
+ },
2422
+ hitSpace: function() {
2423
+ if (this.autoplay) this.pause();
2424
+ else this.play();
2425
+ },
2426
+ play: function(wait) {
2427
+ if (this.btn) {
2428
+ this.btn.play.style.display = 'none';
2429
+ this.btn.pause.style.display = '';
2430
+ }
2431
+
2432
+ this.autoplay = true;
2433
+ if (!wait) hs.next(this.expKey);
2434
+ },
2435
+ pause: function() {
2436
+ if (this.btn) {
2437
+ this.btn.pause.style.display = 'none';
2438
+ this.btn.play.style.display = '';
2439
+ }
2440
+
2441
+ clearTimeout(this.autoplay);
2442
+ this.autoplay = null;
2443
+ },
2444
+ previous: function() {
2445
+ this.pause();
2446
+ hs.previous(this.btn.previous);
2447
+ },
2448
+ next: function() {
2449
+ this.pause();
2450
+ hs.next(this.btn.next);
2451
+ },
2452
+ move: function() {},
2453
+ 'full-expand': function() {
2454
+ hs.getExpander().doFullExpand();
2455
+ },
2456
+ close: function() {
2457
+ hs.close(this.btn.close);
2458
+ }
2459
+ };
2460
+ hs.Thumbstrip = function(slideshow) {
2461
+ function add (exp) {
2462
+ hs.extend(options || {}, {
2463
+ overlayId: dom,
2464
+ hsId: 'thumbstrip',
2465
+ className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '')
2466
+ });
2467
+ if (hs.ieLt7) options.fade = 0;
2468
+ exp.createOverlay(options);
2469
+ hs.setStyles(dom.parentNode, { overflow: 'hidden' });
2470
+ };
2471
+
2472
+ function scroll (delta) {
2473
+ selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7));
2474
+ };
2475
+
2476
+ function selectThumb (i, scrollBy) {
2477
+ if (i === undefined) for (var j = 0; j < group.length; j++) {
2478
+ if (group[j] == hs.expanders[slideshow.expKey].a) {
2479
+ i = j;
2480
+ break;
2481
+ }
2482
+ }
2483
+ if (i === undefined) return;
2484
+ var as = dom.getElementsByTagName('a'),
2485
+ active = as[i],
2486
+ cell = active.parentNode,
2487
+ left = isX ? 'Left' : 'Top',
2488
+ right = isX ? 'Right' : 'Bottom',
2489
+ width = isX ? 'Width' : 'Height',
2490
+ offsetLeft = 'offset' + left,
2491
+ offsetWidth = 'offset' + width,
2492
+ overlayWidth = div.parentNode.parentNode[offsetWidth],
2493
+ minTblPos = overlayWidth - table[offsetWidth],
2494
+ curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0,
2495
+ tblPos = curTblPos,
2496
+ mgnRight = 20;
2497
+ if (scrollBy !== undefined) {
2498
+ tblPos = curTblPos - scrollBy;
2499
+
2500
+ if (minTblPos > 0) minTblPos = 0;
2501
+ if (tblPos > 0) tblPos = 0;
2502
+ if (tblPos < minTblPos) tblPos = minTblPos;
2503
+
2504
+
2505
+ } else {
2506
+ for (var j = 0; j < as.length; j++) as[j].className = '';
2507
+ active.className = 'highslide-active-anchor';
2508
+ var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft],
2509
+ activeRight = cell[offsetLeft] + cell[offsetWidth] +
2510
+ (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0);
2511
+ if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight;
2512
+ else if (activeLeft < -curTblPos) tblPos = -activeLeft;
2513
+ }
2514
+ var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos;
2515
+ hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad');
2516
+ hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad');
2517
+ scrollUp.style.display = tblPos < 0 ? 'block' : 'none';
2518
+ scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none';
2519
+
2520
+ };
2521
+
2522
+
2523
+ // initialize
2524
+ var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'],
2525
+ options = slideshow.thumbstrip,
2526
+ mode = options.mode || 'horizontal',
2527
+ floatMode = (mode == 'float'),
2528
+ tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'],
2529
+ isX = (mode == 'horizontal'),
2530
+ dom = hs.createElement('div', {
2531
+ className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode,
2532
+ innerHTML:
2533
+ '<div class="highslide-thumbstrip-inner">'+
2534
+ '<'+ tree[0] +'><'+ tree[1] +'></'+ tree[1] +'></'+ tree[0] +'></div>'+
2535
+ '<div class="highslide-scroll-up"><div></div></div>'+
2536
+ '<div class="highslide-scroll-down"><div></div></div>'+
2537
+ '<div class="highslide-marker"><div></div></div>'
2538
+ }, {
2539
+ display: 'none'
2540
+ }, hs.container),
2541
+ domCh = dom.childNodes,
2542
+ div = domCh[0],
2543
+ scrollUp = domCh[1],
2544
+ scrollDown = domCh[2],
2545
+ marker = domCh[3],
2546
+ table = div.firstChild,
2547
+ tbody = dom.getElementsByTagName(tree[1])[0],
2548
+ tr;
2549
+ for (var i = 0; i < group.length; i++) {
2550
+ if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody);
2551
+ (function(){
2552
+ var a = group[i],
2553
+ cell = hs.createElement(tree[3], null, null, tr),
2554
+ pI = i;
2555
+ hs.createElement('a', {
2556
+ href: a.href,
2557
+ title: a.title,
2558
+ onclick: function() {
2559
+ if (/highslide-active-anchor/.test(this.className)) return false;
2560
+ hs.getExpander(this).focus();
2561
+ return hs.transit(a);
2562
+ },
2563
+ innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML
2564
+ }, null, cell);
2565
+ })();
2566
+ }
2567
+ if (!floatMode) {
2568
+ scrollUp.onclick = function () { scroll(-1); };
2569
+ scrollDown.onclick = function() { scroll(1); };
2570
+ hs.addEventListener(tbody, document.onmousewheel !== undefined ?
2571
+ 'mousewheel' : 'DOMMouseScroll', function(e) {
2572
+ var delta = 0;
2573
+ e = e || window.event;
2574
+ if (e.wheelDelta) {
2575
+ delta = e.wheelDelta/120;
2576
+ if (hs.opera) delta = -delta;
2577
+ } else if (e.detail) {
2578
+ delta = -e.detail/3;
2579
+ }
2580
+ if (delta) scroll(-delta * 0.2);
2581
+ if (e.preventDefault) e.preventDefault();
2582
+ e.returnValue = false;
2583
+ });
2584
+ }
2585
+
2586
+ return {
2587
+ add: add,
2588
+ selectThumb: selectThumb
2589
+ }
2590
+ };
2591
+ hs.langDefaults = hs.lang;
2592
+ // history
2593
+ var HsExpander = hs.Expander;
2594
+ if (hs.ie && window == window.top) {
2595
+ (function () {
2596
+ try {
2597
+ document.documentElement.doScroll('left');
2598
+ } catch (e) {
2599
+ setTimeout(arguments.callee, 50);
2600
+ return;
2601
+ }
2602
+ hs.ready();
2603
+ })();
2604
+ }
2605
+ hs.addEventListener(document, 'DOMContentLoaded', hs.ready);
2606
+ hs.addEventListener(window, 'load', hs.ready);
2607
+
2608
+ // set handlers
2609
+ hs.addEventListener(document, 'ready', function() {
2610
+ if (hs.expandCursor || hs.dimmingOpacity) {
2611
+ var style = hs.createElement('style', { type: 'text/css' }, null,
2612
+ document.getElementsByTagName('HEAD')[0]),
2613
+ backCompat = document.compatMode == 'BackCompat';
2614
+
2615
+
2616
+ function addRule(sel, dec) {
2617
+ if (hs.ie && (hs.uaVersion < 9 || backCompat)) {
2618
+ var last = document.styleSheets[document.styleSheets.length - 1];
2619
+ if (typeof(last.addRule) == "object") last.addRule(sel, dec);
2620
+ } else {
2621
+ style.appendChild(document.createTextNode(sel + " {" + dec + "}"));
2622
+ }
2623
+ }
2624
+ function fix(prop) {
2625
+ return 'expression( ( ( ignoreMe = document.documentElement.'+ prop +
2626
+ ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );';
2627
+ }
2628
+ if (hs.expandCursor) addRule ('.highslide img',
2629
+ 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;');
2630
+ addRule ('.highslide-viewport-size',
2631
+ hs.ie && (hs.uaVersion < 7 || backCompat) ?
2632
+ 'position: absolute; '+
2633
+ 'left:'+ fix('scrollLeft') +
2634
+ 'top:'+ fix('scrollTop') +
2635
+ 'width:'+ fix('clientWidth') +
2636
+ 'height:'+ fix('clientHeight') :
2637
+ 'position: fixed; width: 100%; height: 100%; left: 0; top: 0');
2638
+ }
2639
+ });
2640
+ hs.addEventListener(window, 'resize', function() {
2641
+ hs.getPageSize();
2642
+ if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) {
2643
+ var node = hs.viewport.childNodes[i],
2644
+ exp = hs.getExpander(node);
2645
+ exp.positionOverlay(node);
2646
+ if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb();
2647
+ }
2648
+ });
2649
+ hs.addEventListener(document, 'mousemove', function(e) {
2650
+ hs.mouse = { x: e.clientX, y: e.clientY };
2651
+ });
2652
+ hs.addEventListener(document, 'mousedown', hs.mouseClickHandler);
2653
+ hs.addEventListener(document, 'mouseup', hs.mouseClickHandler);
2654
+
2655
+ hs.addEventListener(document, 'ready', hs.getAnchors);
2656
+ hs.addEventListener(window, 'load', hs.preloadImages);
2657
+ }