mail_engine 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. data/.yardoc/checksums +12 -11
  2. data/.yardoc/objects/ActionMailer.dat +0 -0
  3. data/.yardoc/objects/ActionMailer/Base.dat +0 -0
  4. data/.yardoc/objects/ActionMailer/Base/collect_responses_and_parts_order_i.dat +0 -0
  5. data/.yardoc/objects/ActionMailer/Base/mail_i.dat +0 -0
  6. data/.yardoc/objects/ActionMailer/Base/origin_mail_i.dat +0 -0
  7. data/.yardoc/objects/ActionMailer/Base/set_layout_and_partials_i.dat +0 -0
  8. data/.yardoc/objects/ActionMailer/Collector.dat +0 -0
  9. data/.yardoc/objects/ActionMailer/Collector/custom_i.dat +0 -0
  10. data/.yardoc/objects/MailEngine.dat +0 -0
  11. data/.yardoc/objects/MailEngine/ActsAsMailReceiver.dat +0 -0
  12. data/.yardoc/objects/MailEngine/ActsAsMailReceiver/ClassMethods.dat +0 -0
  13. data/.yardoc/objects/MailEngine/ActsAsMailReceiver/ClassMethods/acts_as_mail_receiver_i.dat +0 -0
  14. data/.yardoc/objects/MailEngine/ActsAsMailReceiver/ClassMethods/check_method_existance_21_i.dat +0 -0
  15. data/.yardoc/objects/MailEngine/Base.dat +0 -0
  16. data/.yardoc/objects/MailEngine/Base/_40_40configurations.dat +0 -0
  17. data/.yardoc/objects/MailEngine/Base/current_config_c.dat +0 -0
  18. data/.yardoc/objects/MailEngine/Base/send_marketing_mail_c.dat +0 -0
  19. data/.yardoc/objects/MailEngine/Configuration.dat +0 -0
  20. data/.yardoc/objects/MailEngine/Configuration/load_c.dat +0 -0
  21. data/.yardoc/objects/MailEngine/CopyMigrations.dat +0 -0
  22. data/.yardoc/objects/MailEngine/CopyMigrations/copy_migrations_i.dat +0 -0
  23. data/.yardoc/objects/MailEngine/CopyResources.dat +0 -0
  24. data/.yardoc/objects/MailEngine/CopyResources/copy_resources_i.dat +0 -0
  25. data/.yardoc/objects/MailEngine/CreateConfig.dat +0 -0
  26. data/.yardoc/objects/MailEngine/CreateConfig/create_config_file_i.dat +0 -0
  27. data/.yardoc/objects/MailEngine/Engine.dat +0 -0
  28. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer.dat +0 -0
  29. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/check_21_c.dat +0 -0
  30. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/get_resource_url_c.dat +0 -0
  31. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/process_c.dat +0 -0
  32. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/replace_resource_in_html_c.dat +0 -0
  33. data/.yardoc/objects/MailEngine/Install.dat +0 -0
  34. data/.yardoc/objects/MailEngine/Install/copy_migrations_i.dat +0 -0
  35. data/.yardoc/objects/MailEngine/Install/copy_resources_i.dat +0 -0
  36. data/.yardoc/objects/MailEngine/Install/create_config_i.dat +0 -0
  37. data/.yardoc/objects/MailEngine/MailLogSubscriber.dat +0 -0
  38. data/.yardoc/objects/MailEngine/MailLogSubscriber/deliver_i.dat +0 -0
  39. data/.yardoc/objects/MailEngine/PLACEHOLDERS_IN_LAYOUT.dat +0 -0
  40. data/.yardoc/objects/MailEngine/Sendgrid.dat +0 -0
  41. data/.yardoc/objects/MailEngine/Sendgrid/Base.dat +0 -0
  42. data/.yardoc/objects/MailEngine/Sendgrid/Base/ClassMethods.dat +0 -0
  43. data/.yardoc/objects/MailEngine/Sendgrid/Base/ClassMethods/sendgrid_header_i.dat +0 -0
  44. data/.yardoc/objects/MailEngine/Sendgrid/Base/InstanceMethods.dat +0 -0
  45. data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting.dat +0 -0
  46. data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/data_3D_i.dat +0 -0
  47. data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/data_i.dat +0 -0
  48. data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/initialize_i.dat +0 -0
  49. data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/validate_config_21_i.dat +0 -0
  50. data/.yardoc/objects/MailEngine/Sendgrid/RestApi.dat +0 -0
  51. data/.yardoc/objects/MailEngine/Sendgrid/RestApi/blocks_c.dat +0 -0
  52. data/.yardoc/objects/MailEngine/Sendgrid/RestApi/bounces_c.dat +0 -0
  53. data/.yardoc/objects/MailEngine/Sendgrid/RestApi/invalidemails_c.dat +0 -0
  54. data/.yardoc/objects/MailEngine/Sendgrid/RestApi/spamreports_c.dat +0 -0
  55. data/.yardoc/objects/MailEngine/Sendgrid/RestApi/stats_c.dat +0 -0
  56. data/.yardoc/objects/MailEngine/Sendgrid/RestApiError.dat +0 -0
  57. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi.dat +0 -0
  58. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/add_sub_val_i.dat +0 -0
  59. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/add_to_i.dat +0 -0
  60. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/category_i.dat +0 -0
  61. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/filters_i.dat +0 -0
  62. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/initialize_i.dat +0 -0
  63. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/set_unique_args_i.dat +0 -0
  64. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_hash_i.dat +0 -0
  65. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_json_i.dat +0 -0
  66. data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_s_i.dat +0 -0
  67. data/.yardoc/objects/MailEngine/VERSION.dat +0 -0
  68. data/.yardoc/objects/MailEngine/ZipProcessor.dat +0 -0
  69. data/.yardoc/objects/MailEngine/ZipProcessor/extract_all_files_c.dat +0 -0
  70. data/.yardoc/objects/root.dat +0 -0
  71. data/Gemfile +16 -13
  72. data/Gemfile.lock +69 -46
  73. data/README.mkd +14 -2
  74. data/VERSION +1 -1
  75. data/app/controllers/mail_engine/application_controller.rb +4 -0
  76. data/app/controllers/mail_engine/mail_logs_controller.rb +1 -1
  77. data/app/controllers/mail_engine/mail_schedules_controller.rb +4 -4
  78. data/app/controllers/mail_engine/mail_template_files_controller.rb +4 -4
  79. data/app/controllers/mail_engine/mail_templates_controller.rb +16 -11
  80. data/app/controllers/mail_engine/reports_controller.rb +5 -1
  81. data/app/helpers/mail_engine/mail_engine_helper.rb +1 -1
  82. data/app/mailers/mail_engine/mail_dispatcher.rb +16 -9
  83. data/app/models/mail_engine/mail_log.rb +1 -1
  84. data/app/models/mail_engine/mail_schedule.rb +14 -12
  85. data/app/models/mail_engine/mail_template.rb +81 -55
  86. data/app/models/mail_engine/mail_template_file.rb +4 -3
  87. data/app/views/layouts/mail_engine/mail_engine.html.erb +31 -18
  88. data/app/views/layouts/mail_engine/simple.html.erb +14 -0
  89. data/app/views/mail_engine/dashboard/index.html.erb +18 -1
  90. data/app/views/mail_engine/mail_logs/_related_logs.html.erb +29 -0
  91. data/app/views/mail_engine/mail_logs/index.html.erb +5 -5
  92. data/app/views/mail_engine/mail_schedules/_form.html.erb +6 -5
  93. data/app/views/mail_engine/mail_schedules/index.html.erb +13 -8
  94. data/app/views/mail_engine/mail_schedules/show.html.erb +2 -0
  95. data/app/views/mail_engine/mail_template_files/_form.html.erb +20 -10
  96. data/app/views/mail_engine/mail_template_files/edit.html.erb +2 -0
  97. data/app/views/mail_engine/mail_template_files/new.html.erb +2 -0
  98. data/app/views/mail_engine/mail_templates/_form.html.erb +65 -12
  99. data/app/views/mail_engine/mail_templates/_layout_selector.html.erb +3 -3
  100. data/app/views/mail_engine/mail_templates/duplicate.html.erb +11 -7
  101. data/app/views/mail_engine/mail_templates/index.html.erb +25 -21
  102. data/app/views/mail_engine/mail_templates/new_by_upload.html.erb +11 -5
  103. data/app/views/mail_engine/mail_templates/partial_options.html.erb +2 -2
  104. data/app/views/mail_engine/mail_templates/show.html.erb +19 -29
  105. data/app/views/mail_engine/reports/charts/blocks.html.erb +2 -2
  106. data/app/views/mail_engine/reports/charts/bounces.html.erb +2 -2
  107. data/app/views/mail_engine/reports/charts/invalidemails.html.erb +2 -2
  108. data/app/views/mail_engine/reports/charts/spamreports.html.erb +2 -2
  109. data/app/views/mail_engine/reports/index.html.erb +40 -5
  110. data/config/routes.rb +5 -6
  111. data/db/migrate/20110114030841_create_table_mail_template.rb +1 -0
  112. data/doc/ActionMailer.html +108 -0
  113. data/doc/ActionMailer/Base.html +193 -0
  114. data/doc/ActionMailer/Collector.html +175 -0
  115. data/doc/MailEngine.html +146 -0
  116. data/doc/MailEngine/ActsAsMailReceiver.html +97 -0
  117. data/doc/MailEngine/ActsAsMailReceiver/ClassMethods.html +187 -0
  118. data/doc/MailEngine/Base.html +297 -0
  119. data/doc/MailEngine/Configuration.html +181 -0
  120. data/doc/MailEngine/CopyMigrations.html +187 -0
  121. data/doc/MailEngine/CopyResources.html +171 -0
  122. data/doc/MailEngine/CreateConfig.html +193 -0
  123. data/doc/MailEngine/CreateMigration.html +187 -0
  124. data/doc/MailEngine/Engine.html +100 -0
  125. data/doc/MailEngine/HtmlDocumentAssetsReplacer.html +397 -0
  126. data/doc/MailEngine/Install.html +273 -0
  127. data/doc/MailEngine/MailLogSubscriber.html +204 -0
  128. data/doc/MailEngine/Sendgrid.html +101 -0
  129. data/doc/MailEngine/Sendgrid/Base.html +97 -0
  130. data/doc/MailEngine/Sendgrid/Base/ClassMethods.html +150 -0
  131. data/doc/MailEngine/Sendgrid/Base/InstanceMethods.html +81 -0
  132. data/doc/MailEngine/Sendgrid/FilterSetting.html +257 -0
  133. data/doc/MailEngine/Sendgrid/RestApi.html +476 -0
  134. data/doc/MailEngine/Sendgrid/RestApiError.html +100 -0
  135. data/doc/MailEngine/Sendgrid/SmtpApi.html +604 -0
  136. data/doc/MailEngine/ZipProcessor.html +267 -0
  137. data/doc/_index.html +21 -7
  138. data/doc/class_list.html +1 -1
  139. data/doc/file.README.html +231 -0
  140. data/doc/index.html +231 -0
  141. data/doc/method_list.html +45 -21
  142. data/doc/top-level-namespace.html +88 -0
  143. data/lib/mail_engine.rb +7 -1
  144. data/lib/mail_engine/action_mailer_patch.rb +7 -0
  145. data/lib/mail_engine/acts_as_mail_receiver.rb +40 -6
  146. data/lib/mail_engine/base.rb +28 -7
  147. data/lib/mail_engine/configuration.rb +3 -0
  148. data/lib/mail_engine/engine.rb +5 -5
  149. data/lib/mail_engine/generators/{create_migration.rb → copy_migrations.rb} +4 -3
  150. data/lib/mail_engine/generators/copy_resources.rb +13 -0
  151. data/lib/mail_engine/generators/install.rb +21 -0
  152. data/lib/mail_engine/generators/templates/mail_engine_config.yml +10 -1
  153. data/lib/mail_engine/html_document_assets_replacer.rb +12 -23
  154. data/lib/mail_engine/mail_log_subscriber.rb +13 -5
  155. data/lib/mail_engine/zip_processor.rb +10 -1
  156. data/mail_engine.gemspec +336 -110
  157. data/public/images/mail_engine/header_and_footer_layout.png +0 -0
  158. data/public/images/mail_engine/icons/add.png +0 -0
  159. data/public/images/mail_engine/icons/copy.png +0 -0
  160. data/public/images/mail_engine/icons/delete.png +0 -0
  161. data/public/images/mail_engine/icons/edit.gif +0 -0
  162. data/public/images/mail_engine/icons/missing.png +0 -0
  163. data/public/images/mail_engine/icons/save.png +0 -0
  164. data/public/images/mail_engine/icons/show.png +0 -0
  165. data/public/images/mail_engine/logo.gif +0 -0
  166. data/public/images/mail_engine/logo.png +0 -0
  167. data/public/images/mail_engine/none_layout.png +0 -0
  168. data/public/images/mail_engine/only_footer_layout.png +0 -0
  169. data/public/images/mail_engine/unselect_header_and_footer_layout.png +0 -0
  170. data/public/images/mail_engine/unselect_none_layout.png +0 -0
  171. data/public/images/mail_engine/unselect_only_footer_layout.png +0 -0
  172. data/public/javascripts/mail_engine/fancybox/blank.gif +0 -0
  173. data/public/javascripts/mail_engine/fancybox/fancy_close.png +0 -0
  174. data/public/javascripts/mail_engine/fancybox/fancy_loading.png +0 -0
  175. data/public/javascripts/mail_engine/fancybox/fancy_nav_left.png +0 -0
  176. data/public/javascripts/mail_engine/fancybox/fancy_nav_right.png +0 -0
  177. data/public/javascripts/mail_engine/fancybox/fancy_shadow_e.png +0 -0
  178. data/public/javascripts/mail_engine/fancybox/fancy_shadow_n.png +0 -0
  179. data/public/javascripts/mail_engine/fancybox/fancy_shadow_ne.png +0 -0
  180. data/public/javascripts/mail_engine/fancybox/fancy_shadow_nw.png +0 -0
  181. data/public/javascripts/mail_engine/fancybox/fancy_shadow_s.png +0 -0
  182. data/public/javascripts/mail_engine/fancybox/fancy_shadow_se.png +0 -0
  183. data/public/javascripts/mail_engine/fancybox/fancy_shadow_sw.png +0 -0
  184. data/public/javascripts/mail_engine/fancybox/fancy_shadow_w.png +0 -0
  185. data/public/javascripts/mail_engine/fancybox/fancy_title_left.png +0 -0
  186. data/public/javascripts/mail_engine/fancybox/fancy_title_main.png +0 -0
  187. data/public/javascripts/mail_engine/fancybox/fancy_title_over.png +0 -0
  188. data/public/javascripts/mail_engine/fancybox/fancy_title_right.png +0 -0
  189. data/public/javascripts/mail_engine/fancybox/fancybox-x.png +0 -0
  190. data/public/javascripts/mail_engine/fancybox/fancybox-y.png +0 -0
  191. data/public/javascripts/mail_engine/fancybox/fancybox.png +0 -0
  192. data/public/javascripts/mail_engine/fancybox/jquery.easing-1.3.pack.js +72 -0
  193. data/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.css +359 -0
  194. data/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.js +1156 -0
  195. data/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.pack.js +46 -0
  196. data/public/javascripts/mail_engine/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
  197. data/public/javascripts/mail_engine/jquery-ui.min.js +577 -0
  198. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/jquery.iframe-auto-height.plugin.js +0 -0
  199. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/jquery.string.js +0 -0
  200. data/{test/dummy/public/javascripts/mail_engine_application.js → public/javascripts/mail_engine/mail_engine.js} +0 -0
  201. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/jquery.markitup.js +0 -0
  202. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/bold.png +0 -0
  203. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/css.png +0 -0
  204. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/italic.png +0 -0
  205. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/picture.png +0 -0
  206. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/stroke.png +0 -0
  207. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/tag.png +0 -0
  208. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_align_center.png +0 -0
  209. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_align_justify.png +0 -0
  210. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_align_left.png +0 -0
  211. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_align_right.png +0 -0
  212. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_indent.png +0 -0
  213. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_letterspacing.png +0 -0
  214. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_linespacing.png +0 -0
  215. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_lowercase.png +0 -0
  216. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_padding_bottom.png +0 -0
  217. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_padding_left.png +0 -0
  218. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_padding_right.png +0 -0
  219. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_padding_top.png +0 -0
  220. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/images/text_uppercase.png +0 -0
  221. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/readme.txt +0 -0
  222. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/set.js +0 -0
  223. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/css/style.css +0 -0
  224. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/bold.png +0 -0
  225. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/clean.png +0 -0
  226. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/image.png +0 -0
  227. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/italic.png +0 -0
  228. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/link.png +0 -0
  229. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/picture.png +0 -0
  230. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/preview.png +0 -0
  231. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/images/stroke.png +0 -0
  232. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/set.js +0 -0
  233. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/default/style.css +0 -0
  234. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/bold.png +0 -0
  235. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/clean.png +0 -0
  236. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h1.png +0 -0
  237. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h2.png +0 -0
  238. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h3.png +0 -0
  239. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h4.png +0 -0
  240. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h5.png +0 -0
  241. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/h6.png +0 -0
  242. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/image.png +0 -0
  243. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/italic.png +0 -0
  244. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/link.png +0 -0
  245. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/list-bullet.png +0 -0
  246. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/list-item.png +0 -0
  247. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/list-numeric.png +0 -0
  248. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/paragraph.png +0 -0
  249. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/picture.png +0 -0
  250. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/preview.png +0 -0
  251. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/images/stroke.png +0 -0
  252. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/readme.txt +0 -0
  253. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/set.js +0 -0
  254. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/sets/html/style.css +0 -0
  255. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-container.png +0 -0
  256. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
  257. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
  258. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-html.png +0 -0
  259. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-json.png +0 -0
  260. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
  261. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
  262. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
  263. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
  264. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/bg-editor.png +0 -0
  265. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/handle.png +0 -0
  266. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/menu.png +0 -0
  267. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/images/submenu.png +0 -0
  268. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/markitup/style.css +0 -0
  269. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/simple/images/handle.png +0 -0
  270. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/simple/images/menu.png +0 -0
  271. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/simple/images/submenu.png +0 -0
  272. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/skins/simple/style.css +0 -0
  273. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/templates/preview.css +0 -0
  274. data/{test/dummy/public/javascripts → public/javascripts/mail_engine}/markitup/templates/preview.html +0 -0
  275. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  276. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  277. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  278. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  279. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  280. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  281. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  282. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  283. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_222222_256x240.png +0 -0
  284. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  285. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_454545_256x240.png +0 -0
  286. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_888888_256x240.png +0 -0
  287. data/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  288. data/public/stylesheets/mail_engine/jquery-ui/smoothness/jquery-ui.css +544 -0
  289. data/{test/dummy/public/stylesheets → public/stylesheets/mail_engine}/style.css +6 -2
  290. data/test/dummy/app/controllers/application_controller.rb +0 -8
  291. data/test/dummy/app/models/user.rb +6 -4
  292. data/test/dummy/config/application.rb +2 -2
  293. data/test/dummy/config/database.yml +2 -2
  294. data/test/dummy/db/migrate/20110114030841_create_table_mail_template.rb +1 -0
  295. data/test/dummy/db/migrate/20110206025002_create_mail_logs.rb +1 -1
  296. data/test/dummy/db/schema.rb +1 -0
  297. data/test/dummy/public/images/mail_engine/icons/add.png +0 -0
  298. data/test/dummy/public/images/mail_engine/icons/copy.png +0 -0
  299. data/test/dummy/public/images/mail_engine/icons/delete.png +0 -0
  300. data/test/dummy/public/images/mail_engine/icons/edit.gif +0 -0
  301. data/test/dummy/public/images/mail_engine/icons/missing.png +0 -0
  302. data/test/dummy/public/images/mail_engine/icons/save.png +0 -0
  303. data/test/dummy/public/images/mail_engine/icons/show.png +0 -0
  304. data/test/dummy/public/javascripts/mail_engine/fancybox/blank.gif +0 -0
  305. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_close.png +0 -0
  306. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_loading.png +0 -0
  307. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_nav_left.png +0 -0
  308. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_nav_right.png +0 -0
  309. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_e.png +0 -0
  310. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_n.png +0 -0
  311. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_ne.png +0 -0
  312. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_nw.png +0 -0
  313. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_s.png +0 -0
  314. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_se.png +0 -0
  315. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_sw.png +0 -0
  316. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_shadow_w.png +0 -0
  317. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_title_left.png +0 -0
  318. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_title_main.png +0 -0
  319. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_title_over.png +0 -0
  320. data/test/dummy/public/javascripts/mail_engine/fancybox/fancy_title_right.png +0 -0
  321. data/test/dummy/public/javascripts/mail_engine/fancybox/fancybox-x.png +0 -0
  322. data/test/dummy/public/javascripts/mail_engine/fancybox/fancybox-y.png +0 -0
  323. data/test/dummy/public/javascripts/mail_engine/fancybox/fancybox.png +0 -0
  324. data/test/dummy/public/javascripts/mail_engine/fancybox/jquery.easing-1.3.pack.js +72 -0
  325. data/test/dummy/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.css +359 -0
  326. data/test/dummy/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.js +1156 -0
  327. data/test/dummy/public/javascripts/mail_engine/fancybox/jquery.fancybox-1.3.4.pack.js +46 -0
  328. data/test/dummy/public/javascripts/mail_engine/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
  329. data/test/dummy/public/javascripts/mail_engine/jquery-ui.min.js +577 -0
  330. data/test/dummy/public/javascripts/mail_engine/jquery.iframe-auto-height.plugin.js +50 -0
  331. data/test/dummy/public/javascripts/mail_engine/jquery.string.js +425 -0
  332. data/test/dummy/public/javascripts/mail_engine/mail_engine.js +2 -0
  333. data/test/dummy/public/javascripts/mail_engine/markitup/jquery.markitup.js +564 -0
  334. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/bold.png +0 -0
  335. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/css.png +0 -0
  336. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/italic.png +0 -0
  337. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/picture.png +0 -0
  338. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/stroke.png +0 -0
  339. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/tag.png +0 -0
  340. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_align_center.png +0 -0
  341. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_align_justify.png +0 -0
  342. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_align_left.png +0 -0
  343. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_align_right.png +0 -0
  344. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_indent.png +0 -0
  345. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_letterspacing.png +0 -0
  346. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_linespacing.png +0 -0
  347. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_lowercase.png +0 -0
  348. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_padding_bottom.png +0 -0
  349. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_padding_left.png +0 -0
  350. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_padding_right.png +0 -0
  351. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_padding_top.png +0 -0
  352. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/images/text_uppercase.png +0 -0
  353. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/readme.txt +28 -0
  354. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/set.js +52 -0
  355. data/test/dummy/public/javascripts/mail_engine/markitup/sets/css/style.css +72 -0
  356. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/bold.png +0 -0
  357. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/clean.png +0 -0
  358. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/image.png +0 -0
  359. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/italic.png +0 -0
  360. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/link.png +0 -0
  361. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/picture.png +0 -0
  362. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/preview.png +0 -0
  363. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/images/stroke.png +0 -0
  364. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/set.js +27 -0
  365. data/test/dummy/public/javascripts/mail_engine/markitup/sets/default/style.css +27 -0
  366. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/bold.png +0 -0
  367. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/clean.png +0 -0
  368. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h1.png +0 -0
  369. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h2.png +0 -0
  370. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h3.png +0 -0
  371. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h4.png +0 -0
  372. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h5.png +0 -0
  373. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/h6.png +0 -0
  374. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/image.png +0 -0
  375. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/italic.png +0 -0
  376. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/link.png +0 -0
  377. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/list-bullet.png +0 -0
  378. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/list-item.png +0 -0
  379. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/list-numeric.png +0 -0
  380. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/paragraph.png +0 -0
  381. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/picture.png +0 -0
  382. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/preview.png +0 -0
  383. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/images/stroke.png +0 -0
  384. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/readme.txt +11 -0
  385. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/set.js +40 -0
  386. data/test/dummy/public/javascripts/mail_engine/markitup/sets/html/style.css +59 -0
  387. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-container.png +0 -0
  388. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
  389. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
  390. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-html.png +0 -0
  391. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-json.png +0 -0
  392. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
  393. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
  394. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
  395. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
  396. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/bg-editor.png +0 -0
  397. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/handle.png +0 -0
  398. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/menu.png +0 -0
  399. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/images/submenu.png +0 -0
  400. data/test/dummy/public/javascripts/mail_engine/markitup/skins/markitup/style.css +147 -0
  401. data/test/dummy/public/javascripts/mail_engine/markitup/skins/simple/images/handle.png +0 -0
  402. data/test/dummy/public/javascripts/mail_engine/markitup/skins/simple/images/menu.png +0 -0
  403. data/test/dummy/public/javascripts/mail_engine/markitup/skins/simple/images/submenu.png +0 -0
  404. data/test/dummy/public/javascripts/mail_engine/markitup/skins/simple/style.css +118 -0
  405. data/test/dummy/public/javascripts/mail_engine/markitup/templates/preview.css +5 -0
  406. data/test/dummy/public/javascripts/mail_engine/markitup/templates/preview.html +11 -0
  407. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  408. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  409. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  410. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  411. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  412. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  413. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  414. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  415. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_222222_256x240.png +0 -0
  416. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  417. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_454545_256x240.png +0 -0
  418. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_888888_256x240.png +0 -0
  419. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  420. data/test/dummy/public/stylesheets/mail_engine/jquery-ui/smoothness/jquery-ui.css +544 -0
  421. data/test/dummy/public/stylesheets/mail_engine/style.css +685 -0
  422. data/test/factories.rb +31 -4
  423. data/test/functional/mail_engine/{mail_schedules_controller_controller_test.rb → dashboard_controller_test.rb} +2 -2
  424. data/test/functional/mail_engine/{mail_templates_controller_controller_test.rb → mail_logs_controller_test.rb} +2 -2
  425. data/test/functional/mail_engine/mail_schedules_controller_test.rb +8 -0
  426. data/test/functional/mail_engine/mail_template_files_controller_test.rb +8 -0
  427. data/test/functional/mail_engine/mail_templates_controller_test.rb +8 -0
  428. data/test/functional/mail_engine/reports_controller_test.rb +8 -0
  429. data/test/functional/user_mailer_test.rb +14 -0
  430. data/test/test_helper.rb +4 -1
  431. data/test/unit/mail_engine/mail_log_test.rb +1 -1
  432. data/test/unit/mail_engine/mail_schedule_test.rb +34 -1
  433. data/test/unit/mail_engine/mail_template_test.rb +51 -12
  434. data/test/unit/user_test.rb +20 -0
  435. metadata +370 -125
  436. data/.yardoc/objects/MailEngine/Base/send_mail_c.dat +0 -0
  437. data/.yardoc/objects/MailEngine/CreateMigration.dat +0 -0
  438. data/.yardoc/objects/MailEngine/CreateMigration/create_migrations_i.dat +0 -0
  439. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/replace_resource_filename_in_html_c.dat +0 -0
  440. data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/replace_resource_url_in_html_c.dat +0 -0
  441. data/.yardoc/objects/PLACEHOLDERS_IN_LAYOUT.dat +0 -0
  442. data/lib/mail_engine/placeholders_in_layout.rb +0 -5
  443. data/test/dummy/public/javascripts/jquery.nyroModal/img/ajaxLoader.gif +0 -0
  444. data/test/dummy/public/javascripts/jquery.nyroModal/img/close.gif +0 -0
  445. data/test/dummy/public/javascripts/jquery.nyroModal/img/next.gif +0 -0
  446. data/test/dummy/public/javascripts/jquery.nyroModal/img/prev.gif +0 -0
  447. data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal-ie6.js +0 -186
  448. data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal-ie6.min.js +0 -9
  449. data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal.custom.js +0 -1599
  450. data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal.custom.min.js +0 -34
  451. data/test/dummy/public/javascripts/jquery.nyroModal/styles/nyroModal.css +0 -102
  452. data/test/dummy/public/stylesheets/.gitkeep +0 -0
@@ -0,0 +1,1156 @@
1
+ /*
2
+ * FancyBox - jQuery Plugin
3
+ * Simple and fancy lightbox alternative
4
+ *
5
+ * Examples and documentation at: http://fancybox.net
6
+ *
7
+ * Copyright (c) 2008 - 2010 Janis Skarnelis
8
+ * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
9
+ *
10
+ * Version: 1.3.4 (11/11/2010)
11
+ * Requires: jQuery v1.3+
12
+ *
13
+ * Dual licensed under the MIT and GPL licenses:
14
+ * http://www.opensource.org/licenses/mit-license.php
15
+ * http://www.gnu.org/licenses/gpl.html
16
+ */
17
+
18
+ ;(function($) {
19
+ var tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right,
20
+
21
+ selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
22
+
23
+ ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
24
+
25
+ loadingTimer, loadingFrame = 1,
26
+
27
+ titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('<div/>')[0], { prop: 0 }),
28
+
29
+ isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
30
+
31
+ /*
32
+ * Private methods
33
+ */
34
+
35
+ _abort = function() {
36
+ loading.hide();
37
+
38
+ imgPreloader.onerror = imgPreloader.onload = null;
39
+
40
+ if (ajaxLoader) {
41
+ ajaxLoader.abort();
42
+ }
43
+
44
+ tmp.empty();
45
+ },
46
+
47
+ _error = function() {
48
+ if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) {
49
+ loading.hide();
50
+ busy = false;
51
+ return;
52
+ }
53
+
54
+ selectedOpts.titleShow = false;
55
+
56
+ selectedOpts.width = 'auto';
57
+ selectedOpts.height = 'auto';
58
+
59
+ tmp.html( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
60
+
61
+ _process_inline();
62
+ },
63
+
64
+ _start = function() {
65
+ var obj = selectedArray[ selectedIndex ],
66
+ href,
67
+ type,
68
+ title,
69
+ str,
70
+ emb,
71
+ ret;
72
+
73
+ _abort();
74
+
75
+ selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));
76
+
77
+ ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts);
78
+
79
+ if (ret === false) {
80
+ busy = false;
81
+ return;
82
+ } else if (typeof ret == 'object') {
83
+ selectedOpts = $.extend(selectedOpts, ret);
84
+ }
85
+
86
+ title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || '';
87
+
88
+ if (obj.nodeName && !selectedOpts.orig) {
89
+ selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
90
+ }
91
+
92
+ if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) {
93
+ title = selectedOpts.orig.attr('alt');
94
+ }
95
+
96
+ href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null;
97
+
98
+ if ((/^(?:javascript)/i).test(href) || href == '#') {
99
+ href = null;
100
+ }
101
+
102
+ if (selectedOpts.type) {
103
+ type = selectedOpts.type;
104
+
105
+ if (!href) {
106
+ href = selectedOpts.content;
107
+ }
108
+
109
+ } else if (selectedOpts.content) {
110
+ type = 'html';
111
+
112
+ } else if (href) {
113
+ if (href.match(imgRegExp)) {
114
+ type = 'image';
115
+
116
+ } else if (href.match(swfRegExp)) {
117
+ type = 'swf';
118
+
119
+ } else if ($(obj).hasClass("iframe")) {
120
+ type = 'iframe';
121
+
122
+ } else if (href.indexOf("#") === 0) {
123
+ type = 'inline';
124
+
125
+ } else {
126
+ type = 'ajax';
127
+ }
128
+ }
129
+
130
+ if (!type) {
131
+ _error();
132
+ return;
133
+ }
134
+
135
+ if (type == 'inline') {
136
+ obj = href.substr(href.indexOf("#"));
137
+ type = $(obj).length > 0 ? 'inline' : 'ajax';
138
+ }
139
+
140
+ selectedOpts.type = type;
141
+ selectedOpts.href = href;
142
+ selectedOpts.title = title;
143
+
144
+ if (selectedOpts.autoDimensions) {
145
+ if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') {
146
+ selectedOpts.width = 'auto';
147
+ selectedOpts.height = 'auto';
148
+ } else {
149
+ selectedOpts.autoDimensions = false;
150
+ }
151
+ }
152
+
153
+ if (selectedOpts.modal) {
154
+ selectedOpts.overlayShow = true;
155
+ selectedOpts.hideOnOverlayClick = false;
156
+ selectedOpts.hideOnContentClick = false;
157
+ selectedOpts.enableEscapeButton = false;
158
+ selectedOpts.showCloseButton = false;
159
+ }
160
+
161
+ selectedOpts.padding = parseInt(selectedOpts.padding, 10);
162
+ selectedOpts.margin = parseInt(selectedOpts.margin, 10);
163
+
164
+ tmp.css('padding', (selectedOpts.padding + selectedOpts.margin));
165
+
166
+ $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() {
167
+ $(this).replaceWith(content.children());
168
+ });
169
+
170
+ switch (type) {
171
+ case 'html' :
172
+ tmp.html( selectedOpts.content );
173
+ _process_inline();
174
+ break;
175
+
176
+ case 'inline' :
177
+ if ( $(obj).parent().is('#fancybox-content') === true) {
178
+ busy = false;
179
+ return;
180
+ }
181
+
182
+ $('<div class="fancybox-inline-tmp" />')
183
+ .hide()
184
+ .insertBefore( $(obj) )
185
+ .bind('fancybox-cleanup', function() {
186
+ $(this).replaceWith(content.children());
187
+ }).bind('fancybox-cancel', function() {
188
+ $(this).replaceWith(tmp.children());
189
+ });
190
+
191
+ $(obj).appendTo(tmp);
192
+
193
+ _process_inline();
194
+ break;
195
+
196
+ case 'image':
197
+ busy = false;
198
+
199
+ $.fancybox.showActivity();
200
+
201
+ imgPreloader = new Image();
202
+
203
+ imgPreloader.onerror = function() {
204
+ _error();
205
+ };
206
+
207
+ imgPreloader.onload = function() {
208
+ busy = true;
209
+
210
+ imgPreloader.onerror = imgPreloader.onload = null;
211
+
212
+ _process_image();
213
+ };
214
+
215
+ imgPreloader.src = href;
216
+ break;
217
+
218
+ case 'swf':
219
+ selectedOpts.scrolling = 'no';
220
+
221
+ str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
222
+ emb = '';
223
+
224
+ $.each(selectedOpts.swf, function(name, val) {
225
+ str += '<param name="' + name + '" value="' + val + '"></param>';
226
+ emb += ' ' + name + '="' + val + '"';
227
+ });
228
+
229
+ str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
230
+
231
+ tmp.html(str);
232
+
233
+ _process_inline();
234
+ break;
235
+
236
+ case 'ajax':
237
+ busy = false;
238
+
239
+ $.fancybox.showActivity();
240
+
241
+ selectedOpts.ajax.win = selectedOpts.ajax.success;
242
+
243
+ ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, {
244
+ url : href,
245
+ data : selectedOpts.ajax.data || {},
246
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
247
+ if ( XMLHttpRequest.status > 0 ) {
248
+ _error();
249
+ }
250
+ },
251
+ success : function(data, textStatus, XMLHttpRequest) {
252
+ var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader;
253
+ if (o.status == 200) {
254
+ if ( typeof selectedOpts.ajax.win == 'function' ) {
255
+ ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);
256
+
257
+ if (ret === false) {
258
+ loading.hide();
259
+ return;
260
+ } else if (typeof ret == 'string' || typeof ret == 'object') {
261
+ data = ret;
262
+ }
263
+ }
264
+
265
+ tmp.html( data );
266
+ _process_inline();
267
+ }
268
+ }
269
+ }));
270
+
271
+ break;
272
+
273
+ case 'iframe':
274
+ _show();
275
+ break;
276
+ }
277
+ },
278
+
279
+ _process_inline = function() {
280
+ var
281
+ w = selectedOpts.width,
282
+ h = selectedOpts.height;
283
+
284
+ if (w.toString().indexOf('%') > -1) {
285
+ w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px';
286
+
287
+ } else {
288
+ w = w == 'auto' ? 'auto' : w + 'px';
289
+ }
290
+
291
+ if (h.toString().indexOf('%') > -1) {
292
+ h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px';
293
+
294
+ } else {
295
+ h = h == 'auto' ? 'auto' : h + 'px';
296
+ }
297
+
298
+ tmp.wrapInner('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
299
+
300
+ selectedOpts.width = tmp.width();
301
+ selectedOpts.height = tmp.height();
302
+
303
+ _show();
304
+ },
305
+
306
+ _process_image = function() {
307
+ selectedOpts.width = imgPreloader.width;
308
+ selectedOpts.height = imgPreloader.height;
309
+
310
+ $("<img />").attr({
311
+ 'id' : 'fancybox-img',
312
+ 'src' : imgPreloader.src,
313
+ 'alt' : selectedOpts.title
314
+ }).appendTo( tmp );
315
+
316
+ _show();
317
+ },
318
+
319
+ _show = function() {
320
+ var pos, equal;
321
+
322
+ loading.hide();
323
+
324
+ if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
325
+ $.event.trigger('fancybox-cancel');
326
+
327
+ busy = false;
328
+ return;
329
+ }
330
+
331
+ busy = true;
332
+
333
+ $(content.add( overlay )).unbind();
334
+
335
+ $(window).unbind("resize.fb scroll.fb");
336
+ $(document).unbind('keydown.fb');
337
+
338
+ if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') {
339
+ wrap.css('height', wrap.height());
340
+ }
341
+
342
+ currentArray = selectedArray;
343
+ currentIndex = selectedIndex;
344
+ currentOpts = selectedOpts;
345
+
346
+ if (currentOpts.overlayShow) {
347
+ overlay.css({
348
+ 'background-color' : currentOpts.overlayColor,
349
+ 'opacity' : currentOpts.overlayOpacity,
350
+ 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto',
351
+ 'height' : $(document).height()
352
+ });
353
+
354
+ if (!overlay.is(':visible')) {
355
+ if (isIE6) {
356
+ $('select:not(#fancybox-tmp select)').filter(function() {
357
+ return this.style.visibility !== 'hidden';
358
+ }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() {
359
+ this.style.visibility = 'inherit';
360
+ });
361
+ }
362
+
363
+ overlay.show();
364
+ }
365
+ } else {
366
+ overlay.hide();
367
+ }
368
+
369
+ final_pos = _get_zoom_to();
370
+
371
+ _process_title();
372
+
373
+ if (wrap.is(":visible")) {
374
+ $( close.add( nav_left ).add( nav_right ) ).hide();
375
+
376
+ pos = wrap.position(),
377
+
378
+ start_pos = {
379
+ top : pos.top,
380
+ left : pos.left,
381
+ width : wrap.width(),
382
+ height : wrap.height()
383
+ };
384
+
385
+ equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);
386
+
387
+ content.fadeTo(currentOpts.changeFade, 0.3, function() {
388
+ var finish_resizing = function() {
389
+ content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish);
390
+ };
391
+
392
+ $.event.trigger('fancybox-change');
393
+
394
+ content
395
+ .empty()
396
+ .removeAttr('filter')
397
+ .css({
398
+ 'border-width' : currentOpts.padding,
399
+ 'width' : final_pos.width - currentOpts.padding * 2,
400
+ 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2
401
+ });
402
+
403
+ if (equal) {
404
+ finish_resizing();
405
+
406
+ } else {
407
+ fx.prop = 0;
408
+
409
+ $(fx).animate({prop: 1}, {
410
+ duration : currentOpts.changeSpeed,
411
+ easing : currentOpts.easingChange,
412
+ step : _draw,
413
+ complete : finish_resizing
414
+ });
415
+ }
416
+ });
417
+
418
+ return;
419
+ }
420
+
421
+ wrap.removeAttr("style");
422
+
423
+ content.css('border-width', currentOpts.padding);
424
+
425
+ if (currentOpts.transitionIn == 'elastic') {
426
+ start_pos = _get_zoom_from();
427
+
428
+ content.html( tmp.contents() );
429
+
430
+ wrap.show();
431
+
432
+ if (currentOpts.opacity) {
433
+ final_pos.opacity = 0;
434
+ }
435
+
436
+ fx.prop = 0;
437
+
438
+ $(fx).animate({prop: 1}, {
439
+ duration : currentOpts.speedIn,
440
+ easing : currentOpts.easingIn,
441
+ step : _draw,
442
+ complete : _finish
443
+ });
444
+
445
+ return;
446
+ }
447
+
448
+ if (currentOpts.titlePosition == 'inside' && titleHeight > 0) {
449
+ title.show();
450
+ }
451
+
452
+ content
453
+ .css({
454
+ 'width' : final_pos.width - currentOpts.padding * 2,
455
+ 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2
456
+ })
457
+ .html( tmp.contents() );
458
+
459
+ wrap
460
+ .css(final_pos)
461
+ .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish );
462
+ },
463
+
464
+ _format_title = function(title) {
465
+ if (title && title.length) {
466
+ if (currentOpts.titlePosition == 'float') {
467
+ return '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
468
+ }
469
+
470
+ return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
471
+ }
472
+
473
+ return false;
474
+ },
475
+
476
+ _process_title = function() {
477
+ titleStr = currentOpts.title || '';
478
+ titleHeight = 0;
479
+
480
+ title
481
+ .empty()
482
+ .removeAttr('style')
483
+ .removeClass();
484
+
485
+ if (currentOpts.titleShow === false) {
486
+ title.hide();
487
+ return;
488
+ }
489
+
490
+ titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr);
491
+
492
+ if (!titleStr || titleStr === '') {
493
+ title.hide();
494
+ return;
495
+ }
496
+
497
+ title
498
+ .addClass('fancybox-title-' + currentOpts.titlePosition)
499
+ .html( titleStr )
500
+ .appendTo( 'body' )
501
+ .show();
502
+
503
+ switch (currentOpts.titlePosition) {
504
+ case 'inside':
505
+ title
506
+ .css({
507
+ 'width' : final_pos.width - (currentOpts.padding * 2),
508
+ 'marginLeft' : currentOpts.padding,
509
+ 'marginRight' : currentOpts.padding
510
+ });
511
+
512
+ titleHeight = title.outerHeight(true);
513
+
514
+ title.appendTo( outer );
515
+
516
+ final_pos.height += titleHeight;
517
+ break;
518
+
519
+ case 'over':
520
+ title
521
+ .css({
522
+ 'marginLeft' : currentOpts.padding,
523
+ 'width' : final_pos.width - (currentOpts.padding * 2),
524
+ 'bottom' : currentOpts.padding
525
+ })
526
+ .appendTo( outer );
527
+ break;
528
+
529
+ case 'float':
530
+ title
531
+ .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1)
532
+ .appendTo( wrap );
533
+ break;
534
+
535
+ default:
536
+ title
537
+ .css({
538
+ 'width' : final_pos.width - (currentOpts.padding * 2),
539
+ 'paddingLeft' : currentOpts.padding,
540
+ 'paddingRight' : currentOpts.padding
541
+ })
542
+ .appendTo( wrap );
543
+ break;
544
+ }
545
+
546
+ title.hide();
547
+ },
548
+
549
+ _set_navigation = function() {
550
+ if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) {
551
+ $(document).bind('keydown.fb', function(e) {
552
+ if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
553
+ e.preventDefault();
554
+ $.fancybox.close();
555
+
556
+ } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') {
557
+ e.preventDefault();
558
+ $.fancybox[ e.keyCode == 37 ? 'prev' : 'next']();
559
+ }
560
+ });
561
+ }
562
+
563
+ if (!currentOpts.showNavArrows) {
564
+ nav_left.hide();
565
+ nav_right.hide();
566
+ return;
567
+ }
568
+
569
+ if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) {
570
+ nav_left.show();
571
+ }
572
+
573
+ if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) {
574
+ nav_right.show();
575
+ }
576
+ },
577
+
578
+ _finish = function () {
579
+ if (!$.support.opacity) {
580
+ content.get(0).style.removeAttribute('filter');
581
+ wrap.get(0).style.removeAttribute('filter');
582
+ }
583
+
584
+ if (selectedOpts.autoDimensions) {
585
+ content.css('height', 'auto');
586
+ }
587
+
588
+ wrap.css('height', 'auto');
589
+
590
+ if (titleStr && titleStr.length) {
591
+ title.show();
592
+ }
593
+
594
+ if (currentOpts.showCloseButton) {
595
+ close.show();
596
+ }
597
+
598
+ _set_navigation();
599
+
600
+ if (currentOpts.hideOnContentClick) {
601
+ content.bind('click', $.fancybox.close);
602
+ }
603
+
604
+ if (currentOpts.hideOnOverlayClick) {
605
+ overlay.bind('click', $.fancybox.close);
606
+ }
607
+
608
+ $(window).bind("resize.fb", $.fancybox.resize);
609
+
610
+ if (currentOpts.centerOnScroll) {
611
+ $(window).bind("scroll.fb", $.fancybox.center);
612
+ }
613
+
614
+ if (currentOpts.type == 'iframe') {
615
+ $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo(content);
616
+ }
617
+
618
+ wrap.show();
619
+
620
+ busy = false;
621
+
622
+ $.fancybox.center();
623
+
624
+ currentOpts.onComplete(currentArray, currentIndex, currentOpts);
625
+
626
+ _preload_images();
627
+ },
628
+
629
+ _preload_images = function() {
630
+ var href,
631
+ objNext;
632
+
633
+ if ((currentArray.length -1) > currentIndex) {
634
+ href = currentArray[ currentIndex + 1 ].href;
635
+
636
+ if (typeof href !== 'undefined' && href.match(imgRegExp)) {
637
+ objNext = new Image();
638
+ objNext.src = href;
639
+ }
640
+ }
641
+
642
+ if (currentIndex > 0) {
643
+ href = currentArray[ currentIndex - 1 ].href;
644
+
645
+ if (typeof href !== 'undefined' && href.match(imgRegExp)) {
646
+ objNext = new Image();
647
+ objNext.src = href;
648
+ }
649
+ }
650
+ },
651
+
652
+ _draw = function(pos) {
653
+ var dim = {
654
+ width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10),
655
+ height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10),
656
+
657
+ top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10),
658
+ left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10)
659
+ };
660
+
661
+ if (typeof final_pos.opacity !== 'undefined') {
662
+ dim.opacity = pos < 0.5 ? 0.5 : pos;
663
+ }
664
+
665
+ wrap.css(dim);
666
+
667
+ content.css({
668
+ 'width' : dim.width - currentOpts.padding * 2,
669
+ 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2
670
+ });
671
+ },
672
+
673
+ _get_viewport = function() {
674
+ return [
675
+ $(window).width() - (currentOpts.margin * 2),
676
+ $(window).height() - (currentOpts.margin * 2),
677
+ $(document).scrollLeft() + currentOpts.margin,
678
+ $(document).scrollTop() + currentOpts.margin
679
+ ];
680
+ },
681
+
682
+ _get_zoom_to = function () {
683
+ var view = _get_viewport(),
684
+ to = {},
685
+ resize = currentOpts.autoScale,
686
+ double_padding = currentOpts.padding * 2,
687
+ ratio;
688
+
689
+ if (currentOpts.width.toString().indexOf('%') > -1) {
690
+ to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10);
691
+ } else {
692
+ to.width = currentOpts.width + double_padding;
693
+ }
694
+
695
+ if (currentOpts.height.toString().indexOf('%') > -1) {
696
+ to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10);
697
+ } else {
698
+ to.height = currentOpts.height + double_padding;
699
+ }
700
+
701
+ if (resize && (to.width > view[0] || to.height > view[1])) {
702
+ if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
703
+ ratio = (currentOpts.width ) / (currentOpts.height );
704
+
705
+ if ((to.width ) > view[0]) {
706
+ to.width = view[0];
707
+ to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10);
708
+ }
709
+
710
+ if ((to.height) > view[1]) {
711
+ to.height = view[1];
712
+ to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10);
713
+ }
714
+
715
+ } else {
716
+ to.width = Math.min(to.width, view[0]);
717
+ to.height = Math.min(to.height, view[1]);
718
+ }
719
+ }
720
+
721
+ to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10);
722
+ to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10);
723
+
724
+ return to;
725
+ },
726
+
727
+ _get_obj_pos = function(obj) {
728
+ var pos = obj.offset();
729
+
730
+ pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0;
731
+ pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0;
732
+
733
+ pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0;
734
+ pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0;
735
+
736
+ pos.width = obj.width();
737
+ pos.height = obj.height();
738
+
739
+ return pos;
740
+ },
741
+
742
+ _get_zoom_from = function() {
743
+ var orig = selectedOpts.orig ? $(selectedOpts.orig) : false,
744
+ from = {},
745
+ pos,
746
+ view;
747
+
748
+ if (orig && orig.length) {
749
+ pos = _get_obj_pos(orig);
750
+
751
+ from = {
752
+ width : pos.width + (currentOpts.padding * 2),
753
+ height : pos.height + (currentOpts.padding * 2),
754
+ top : pos.top - currentOpts.padding - 20,
755
+ left : pos.left - currentOpts.padding - 20
756
+ };
757
+
758
+ } else {
759
+ view = _get_viewport();
760
+
761
+ from = {
762
+ width : currentOpts.padding * 2,
763
+ height : currentOpts.padding * 2,
764
+ top : parseInt(view[3] + view[1] * 0.5, 10),
765
+ left : parseInt(view[2] + view[0] * 0.5, 10)
766
+ };
767
+ }
768
+
769
+ return from;
770
+ },
771
+
772
+ _animate_loading = function() {
773
+ if (!loading.is(':visible')){
774
+ clearInterval(loadingTimer);
775
+ return;
776
+ }
777
+
778
+ $('div', loading).css('top', (loadingFrame * -40) + 'px');
779
+
780
+ loadingFrame = (loadingFrame + 1) % 12;
781
+ };
782
+
783
+ /*
784
+ * Public methods
785
+ */
786
+
787
+ $.fn.fancybox = function(options) {
788
+ if (!$(this).length) {
789
+ return this;
790
+ }
791
+
792
+ $(this)
793
+ .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
794
+ .unbind('click.fb')
795
+ .bind('click.fb', function(e) {
796
+ e.preventDefault();
797
+
798
+ if (busy) {
799
+ return;
800
+ }
801
+
802
+ busy = true;
803
+
804
+ $(this).blur();
805
+
806
+ selectedArray = [];
807
+ selectedIndex = 0;
808
+
809
+ var rel = $(this).attr('rel') || '';
810
+
811
+ if (!rel || rel == '' || rel === 'nofollow') {
812
+ selectedArray.push(this);
813
+
814
+ } else {
815
+ selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]");
816
+ selectedIndex = selectedArray.index( this );
817
+ }
818
+
819
+ _start();
820
+
821
+ return;
822
+ });
823
+
824
+ return this;
825
+ };
826
+
827
+ $.fancybox = function(obj) {
828
+ var opts;
829
+
830
+ if (busy) {
831
+ return;
832
+ }
833
+
834
+ busy = true;
835
+ opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};
836
+
837
+ selectedArray = [];
838
+ selectedIndex = parseInt(opts.index, 10) || 0;
839
+
840
+ if ($.isArray(obj)) {
841
+ for (var i = 0, j = obj.length; i < j; i++) {
842
+ if (typeof obj[i] == 'object') {
843
+ $(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
844
+ } else {
845
+ obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts));
846
+ }
847
+ }
848
+
849
+ selectedArray = jQuery.merge(selectedArray, obj);
850
+
851
+ } else {
852
+ if (typeof obj == 'object') {
853
+ $(obj).data('fancybox', $.extend({}, opts, obj));
854
+ } else {
855
+ obj = $({}).data('fancybox', $.extend({content : obj}, opts));
856
+ }
857
+
858
+ selectedArray.push(obj);
859
+ }
860
+
861
+ if (selectedIndex > selectedArray.length || selectedIndex < 0) {
862
+ selectedIndex = 0;
863
+ }
864
+
865
+ _start();
866
+ };
867
+
868
+ $.fancybox.showActivity = function() {
869
+ clearInterval(loadingTimer);
870
+
871
+ loading.show();
872
+ loadingTimer = setInterval(_animate_loading, 66);
873
+ };
874
+
875
+ $.fancybox.hideActivity = function() {
876
+ loading.hide();
877
+ };
878
+
879
+ $.fancybox.next = function() {
880
+ return $.fancybox.pos( currentIndex + 1);
881
+ };
882
+
883
+ $.fancybox.prev = function() {
884
+ return $.fancybox.pos( currentIndex - 1);
885
+ };
886
+
887
+ $.fancybox.pos = function(pos) {
888
+ if (busy) {
889
+ return;
890
+ }
891
+
892
+ pos = parseInt(pos);
893
+
894
+ selectedArray = currentArray;
895
+
896
+ if (pos > -1 && pos < currentArray.length) {
897
+ selectedIndex = pos;
898
+ _start();
899
+
900
+ } else if (currentOpts.cyclic && currentArray.length > 1) {
901
+ selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1;
902
+ _start();
903
+ }
904
+
905
+ return;
906
+ };
907
+
908
+ $.fancybox.cancel = function() {
909
+ if (busy) {
910
+ return;
911
+ }
912
+
913
+ busy = true;
914
+
915
+ $.event.trigger('fancybox-cancel');
916
+
917
+ _abort();
918
+
919
+ selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
920
+
921
+ busy = false;
922
+ };
923
+
924
+ // Note: within an iframe use - parent.$.fancybox.close();
925
+ $.fancybox.close = function() {
926
+ if (busy || wrap.is(':hidden')) {
927
+ return;
928
+ }
929
+
930
+ busy = true;
931
+
932
+ if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
933
+ busy = false;
934
+ return;
935
+ }
936
+
937
+ _abort();
938
+
939
+ $(close.add( nav_left ).add( nav_right )).hide();
940
+
941
+ $(content.add( overlay )).unbind();
942
+
943
+ $(window).unbind("resize.fb scroll.fb");
944
+ $(document).unbind('keydown.fb');
945
+
946
+ content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank');
947
+
948
+ if (currentOpts.titlePosition !== 'inside') {
949
+ title.empty();
950
+ }
951
+
952
+ wrap.stop();
953
+
954
+ function _cleanup() {
955
+ overlay.fadeOut('fast');
956
+
957
+ title.empty().hide();
958
+ wrap.hide();
959
+
960
+ $.event.trigger('fancybox-cleanup');
961
+
962
+ content.empty();
963
+
964
+ currentOpts.onClosed(currentArray, currentIndex, currentOpts);
965
+
966
+ currentArray = selectedOpts = [];
967
+ currentIndex = selectedIndex = 0;
968
+ currentOpts = selectedOpts = {};
969
+
970
+ busy = false;
971
+ }
972
+
973
+ if (currentOpts.transitionOut == 'elastic') {
974
+ start_pos = _get_zoom_from();
975
+
976
+ var pos = wrap.position();
977
+
978
+ final_pos = {
979
+ top : pos.top ,
980
+ left : pos.left,
981
+ width : wrap.width(),
982
+ height : wrap.height()
983
+ };
984
+
985
+ if (currentOpts.opacity) {
986
+ final_pos.opacity = 1;
987
+ }
988
+
989
+ title.empty().hide();
990
+
991
+ fx.prop = 1;
992
+
993
+ $(fx).animate({ prop: 0 }, {
994
+ duration : currentOpts.speedOut,
995
+ easing : currentOpts.easingOut,
996
+ step : _draw,
997
+ complete : _cleanup
998
+ });
999
+
1000
+ } else {
1001
+ wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
1002
+ }
1003
+ };
1004
+
1005
+ $.fancybox.resize = function() {
1006
+ if (overlay.is(':visible')) {
1007
+ overlay.css('height', $(document).height());
1008
+ }
1009
+
1010
+ $.fancybox.center(true);
1011
+ };
1012
+
1013
+ $.fancybox.center = function() {
1014
+ var view, align;
1015
+
1016
+ if (busy) {
1017
+ return;
1018
+ }
1019
+
1020
+ align = arguments[0] === true ? 1 : 0;
1021
+ view = _get_viewport();
1022
+
1023
+ if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) {
1024
+ return;
1025
+ }
1026
+
1027
+ wrap
1028
+ .stop()
1029
+ .animate({
1030
+ 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)),
1031
+ 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding))
1032
+ }, typeof arguments[0] == 'number' ? arguments[0] : 200);
1033
+ };
1034
+
1035
+ $.fancybox.init = function() {
1036
+ if ($("#fancybox-wrap").length) {
1037
+ return;
1038
+ }
1039
+
1040
+ $('body').append(
1041
+ tmp = $('<div id="fancybox-tmp"></div>'),
1042
+ loading = $('<div id="fancybox-loading"><div></div></div>'),
1043
+ overlay = $('<div id="fancybox-overlay"></div>'),
1044
+ wrap = $('<div id="fancybox-wrap"></div>')
1045
+ );
1046
+
1047
+ outer = $('<div id="fancybox-outer"></div>')
1048
+ .append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
1049
+ .appendTo( wrap );
1050
+
1051
+ outer.append(
1052
+ content = $('<div id="fancybox-content"></div>'),
1053
+ close = $('<a id="fancybox-close"></a>'),
1054
+ title = $('<div id="fancybox-title"></div>'),
1055
+
1056
+ nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
1057
+ nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
1058
+ );
1059
+
1060
+ close.click($.fancybox.close);
1061
+ loading.click($.fancybox.cancel);
1062
+
1063
+ nav_left.click(function(e) {
1064
+ e.preventDefault();
1065
+ $.fancybox.prev();
1066
+ });
1067
+
1068
+ nav_right.click(function(e) {
1069
+ e.preventDefault();
1070
+ $.fancybox.next();
1071
+ });
1072
+
1073
+ if ($.fn.mousewheel) {
1074
+ wrap.bind('mousewheel.fb', function(e, delta) {
1075
+ if (busy) {
1076
+ e.preventDefault();
1077
+
1078
+ } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) {
1079
+ e.preventDefault();
1080
+ $.fancybox[ delta > 0 ? 'prev' : 'next']();
1081
+ }
1082
+ });
1083
+ }
1084
+
1085
+ if (!$.support.opacity) {
1086
+ wrap.addClass('fancybox-ie');
1087
+ }
1088
+
1089
+ if (isIE6) {
1090
+ loading.addClass('fancybox-ie6');
1091
+ wrap.addClass('fancybox-ie6');
1092
+
1093
+ $('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(outer);
1094
+ }
1095
+ };
1096
+
1097
+ $.fn.fancybox.defaults = {
1098
+ padding : 10,
1099
+ margin : 40,
1100
+ opacity : false,
1101
+ modal : false,
1102
+ cyclic : false,
1103
+ scrolling : 'auto', // 'auto', 'yes' or 'no'
1104
+
1105
+ width : 560,
1106
+ height : 340,
1107
+
1108
+ autoScale : true,
1109
+ autoDimensions : true,
1110
+ centerOnScroll : false,
1111
+
1112
+ ajax : {},
1113
+ swf : { wmode: 'transparent' },
1114
+
1115
+ hideOnOverlayClick : true,
1116
+ hideOnContentClick : false,
1117
+
1118
+ overlayShow : true,
1119
+ overlayOpacity : 0.7,
1120
+ overlayColor : '#777',
1121
+
1122
+ titleShow : true,
1123
+ titlePosition : 'float', // 'float', 'outside', 'inside' or 'over'
1124
+ titleFormat : null,
1125
+ titleFromAlt : false,
1126
+
1127
+ transitionIn : 'fade', // 'elastic', 'fade' or 'none'
1128
+ transitionOut : 'fade', // 'elastic', 'fade' or 'none'
1129
+
1130
+ speedIn : 300,
1131
+ speedOut : 300,
1132
+
1133
+ changeSpeed : 300,
1134
+ changeFade : 'fast',
1135
+
1136
+ easingIn : 'swing',
1137
+ easingOut : 'swing',
1138
+
1139
+ showCloseButton : true,
1140
+ showNavArrows : true,
1141
+ enableEscapeButton : true,
1142
+ enableKeyboardNav : true,
1143
+
1144
+ onStart : function(){},
1145
+ onCancel : function(){},
1146
+ onComplete : function(){},
1147
+ onCleanup : function(){},
1148
+ onClosed : function(){},
1149
+ onError : function(){}
1150
+ };
1151
+
1152
+ $(document).ready(function() {
1153
+ $.fancybox.init();
1154
+ });
1155
+
1156
+ })(jQuery);