glebtv-ckeditor 4.1.1.7 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (548) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/ckeditor/CHANGES.md +177 -82
  3. data/app/assets/javascripts/ckeditor/build-config.js +33 -12
  4. data/app/assets/javascripts/ckeditor/ckeditor.js +735 -687
  5. data/app/assets/javascripts/ckeditor/config.js.erb +3 -4
  6. data/app/assets/javascripts/ckeditor/contents.css +1 -1
  7. data/app/assets/javascripts/ckeditor/lang/en.js +1 -1
  8. data/app/assets/javascripts/ckeditor/lang/ru.js +1 -1
  9. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  10. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  11. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  12. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  13. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +10 -0
  14. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  15. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  16. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  17. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  18. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  19. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +1 -1
  20. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  21. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  22. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  23. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  24. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  25. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +10 -0
  26. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +11 -0
  27. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +10 -0
  28. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  29. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  30. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  31. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  32. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +10 -0
  33. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +9 -0
  34. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  35. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +8 -0
  36. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  37. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  38. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  39. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +11 -0
  40. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  41. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  42. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  43. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  44. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  45. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +10 -0
  46. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  47. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +10 -0
  48. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  49. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +6 -6
  50. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +8 -0
  51. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  52. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +10 -0
  53. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +9 -0
  54. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +9 -0
  55. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +9 -0
  56. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  57. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  58. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  59. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  60. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +10 -0
  61. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  62. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  63. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +7 -0
  64. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  65. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  66. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +8 -8
  67. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
  68. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +1 -0
  69. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +1 -1
  70. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +5637 -1
  71. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.modes.min.js +1 -1
  72. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.search-addons.min.js +1 -1
  73. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/af.js +10 -0
  74. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ar.js +10 -0
  75. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +10 -0
  76. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bn.js +10 -0
  77. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bs.js +10 -0
  78. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ca.js +10 -0
  79. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/cs.js +10 -0
  80. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/cy.js +10 -0
  81. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/da.js +10 -0
  82. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/de.js +12 -0
  83. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/el.js +10 -0
  84. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-au.js +10 -0
  85. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-ca.js +10 -0
  86. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-gb.js +10 -0
  87. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/eo.js +10 -0
  88. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/es.js +10 -0
  89. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/et.js +10 -0
  90. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/eu.js +10 -0
  91. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fa.js +10 -0
  92. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fi.js +10 -0
  93. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fo.js +10 -0
  94. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fr-ca.js +10 -0
  95. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fr.js +10 -0
  96. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/gl.js +10 -0
  97. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/gu.js +10 -0
  98. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/he.js +10 -0
  99. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hi.js +10 -0
  100. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hr.js +10 -0
  101. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hu.js +10 -0
  102. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/is.js +10 -0
  103. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/it.js +10 -0
  104. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ja.js +10 -0
  105. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ka.js +10 -0
  106. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/km.js +10 -0
  107. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ko.js +10 -0
  108. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ku.js +10 -0
  109. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/lt.js +10 -0
  110. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/lv.js +10 -0
  111. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/mk.js +10 -0
  112. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/mn.js +10 -0
  113. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ms.js +10 -0
  114. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/nb.js +10 -0
  115. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/nl.js +10 -0
  116. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/no.js +10 -0
  117. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pl.js +10 -0
  118. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pt-br.js +10 -0
  119. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pt.js +10 -0
  120. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ro.js +10 -0
  121. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sk.js +10 -0
  122. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sl.js +10 -0
  123. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sr-latn.js +10 -0
  124. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sr.js +10 -0
  125. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sv.js +10 -0
  126. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/th.js +10 -0
  127. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/tr.js +10 -0
  128. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ug.js +10 -0
  129. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/uk.js +10 -0
  130. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/vi.js +10 -0
  131. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/zh-cn.js +10 -0
  132. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/zh.js +10 -0
  133. data/app/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +322 -16
  134. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +1 -1
  135. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/midnight.css +52 -0
  136. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +1 -1
  137. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -340
  138. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  139. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  140. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +24 -0
  141. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  142. data/app/assets/javascripts/ckeditor/plugins/font/lang/af.js +14 -0
  143. data/app/assets/javascripts/ckeditor/plugins/font/lang/ar.js +14 -0
  144. data/app/assets/javascripts/ckeditor/plugins/font/lang/bg.js +14 -0
  145. data/app/assets/javascripts/ckeditor/plugins/font/lang/bn.js +14 -0
  146. data/app/assets/javascripts/ckeditor/plugins/font/lang/bs.js +14 -0
  147. data/app/assets/javascripts/ckeditor/plugins/font/lang/ca.js +14 -0
  148. data/app/assets/javascripts/ckeditor/plugins/font/lang/cs.js +14 -0
  149. data/app/assets/javascripts/ckeditor/plugins/font/lang/cy.js +14 -0
  150. data/app/assets/javascripts/ckeditor/plugins/font/lang/da.js +14 -0
  151. data/app/assets/javascripts/ckeditor/plugins/font/lang/de.js +14 -0
  152. data/app/assets/javascripts/ckeditor/plugins/font/lang/el.js +14 -0
  153. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-au.js +14 -0
  154. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-ca.js +14 -0
  155. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-gb.js +14 -0
  156. data/app/assets/javascripts/ckeditor/plugins/font/lang/en.js +1 -1
  157. data/app/assets/javascripts/ckeditor/plugins/font/lang/eo.js +14 -0
  158. data/app/assets/javascripts/ckeditor/plugins/font/lang/es.js +14 -0
  159. data/app/assets/javascripts/ckeditor/plugins/font/lang/et.js +14 -0
  160. data/app/assets/javascripts/ckeditor/plugins/font/lang/eu.js +14 -0
  161. data/app/assets/javascripts/ckeditor/plugins/font/lang/fa.js +14 -0
  162. data/app/assets/javascripts/ckeditor/plugins/font/lang/fi.js +14 -0
  163. data/app/assets/javascripts/ckeditor/plugins/font/lang/fo.js +14 -0
  164. data/app/assets/javascripts/ckeditor/plugins/font/lang/fr-ca.js +14 -0
  165. data/app/assets/javascripts/ckeditor/plugins/font/lang/fr.js +14 -0
  166. data/app/assets/javascripts/ckeditor/plugins/font/lang/gl.js +14 -0
  167. data/app/assets/javascripts/ckeditor/plugins/font/lang/gu.js +14 -0
  168. data/app/assets/javascripts/ckeditor/plugins/font/lang/he.js +14 -0
  169. data/app/assets/javascripts/ckeditor/plugins/font/lang/hi.js +14 -0
  170. data/app/assets/javascripts/ckeditor/plugins/font/lang/hr.js +14 -0
  171. data/app/assets/javascripts/ckeditor/plugins/font/lang/hu.js +14 -0
  172. data/app/assets/javascripts/ckeditor/plugins/font/lang/id.js +14 -0
  173. data/app/assets/javascripts/ckeditor/plugins/font/lang/is.js +14 -0
  174. data/app/assets/javascripts/ckeditor/plugins/font/lang/it.js +14 -0
  175. data/app/assets/javascripts/ckeditor/plugins/font/lang/ja.js +14 -0
  176. data/app/assets/javascripts/ckeditor/plugins/font/lang/ka.js +14 -0
  177. data/app/assets/javascripts/ckeditor/plugins/font/lang/km.js +14 -0
  178. data/app/assets/javascripts/ckeditor/plugins/font/lang/ko.js +14 -0
  179. data/app/assets/javascripts/ckeditor/plugins/font/lang/ku.js +14 -0
  180. data/app/assets/javascripts/ckeditor/plugins/font/lang/lt.js +14 -0
  181. data/app/assets/javascripts/ckeditor/plugins/font/lang/lv.js +14 -0
  182. data/app/assets/javascripts/ckeditor/plugins/font/lang/mk.js +14 -0
  183. data/app/assets/javascripts/ckeditor/plugins/font/lang/mn.js +14 -0
  184. data/app/assets/javascripts/ckeditor/plugins/font/lang/ms.js +14 -0
  185. data/app/assets/javascripts/ckeditor/plugins/font/lang/nb.js +14 -0
  186. data/app/assets/javascripts/ckeditor/plugins/font/lang/nl.js +14 -0
  187. data/app/assets/javascripts/ckeditor/plugins/font/lang/no.js +14 -0
  188. data/app/assets/javascripts/ckeditor/plugins/font/lang/pl.js +14 -0
  189. data/app/assets/javascripts/ckeditor/plugins/font/lang/pt-br.js +14 -0
  190. data/app/assets/javascripts/ckeditor/plugins/font/lang/pt.js +14 -0
  191. data/app/assets/javascripts/ckeditor/plugins/font/lang/ro.js +14 -0
  192. data/app/assets/javascripts/ckeditor/plugins/font/lang/ru.js +1 -1
  193. data/app/assets/javascripts/ckeditor/plugins/font/lang/si.js +14 -0
  194. data/app/assets/javascripts/ckeditor/plugins/font/lang/sk.js +14 -0
  195. data/app/assets/javascripts/ckeditor/plugins/font/lang/sl.js +14 -0
  196. data/app/assets/javascripts/ckeditor/plugins/font/lang/sq.js +14 -0
  197. data/app/assets/javascripts/ckeditor/plugins/font/lang/sr-latn.js +14 -0
  198. data/app/assets/javascripts/ckeditor/plugins/font/lang/sr.js +14 -0
  199. data/app/assets/javascripts/ckeditor/plugins/font/lang/sv.js +14 -0
  200. data/app/assets/javascripts/ckeditor/plugins/font/lang/th.js +14 -0
  201. data/app/assets/javascripts/ckeditor/plugins/font/lang/tr.js +14 -0
  202. data/app/assets/javascripts/ckeditor/plugins/font/lang/ug.js +14 -0
  203. data/app/assets/javascripts/ckeditor/plugins/font/lang/uk.js +14 -0
  204. data/app/assets/javascripts/ckeditor/plugins/font/lang/vi.js +14 -0
  205. data/app/assets/javascripts/ckeditor/plugins/font/lang/zh-cn.js +14 -0
  206. data/app/assets/javascripts/ckeditor/plugins/font/lang/zh.js +14 -0
  207. data/app/assets/javascripts/ckeditor/plugins/font/plugin.js +2 -2
  208. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  209. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
  210. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  211. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  212. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +8 -0
  213. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +20 -0
  214. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  215. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
  216. data/app/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  217. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +93 -0
  218. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +59 -0
  219. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  220. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  221. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  222. data/app/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  223. data/app/assets/javascripts/ckeditor/plugins/icons_hidpi.png +0 -0
  224. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  225. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/hidpi/iframe.png +0 -0
  226. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/iframe.png +0 -0
  227. data/app/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  228. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/af.js +11 -0
  229. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ar.js +11 -0
  230. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bg.js +11 -0
  231. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bn.js +11 -0
  232. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bs.js +11 -0
  233. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ca.js +11 -0
  234. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/cs.js +11 -0
  235. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/cy.js +11 -0
  236. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/da.js +11 -0
  237. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/de.js +11 -0
  238. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/el.js +11 -0
  239. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-au.js +11 -0
  240. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-ca.js +11 -0
  241. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-gb.js +11 -0
  242. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en.js +11 -0
  243. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/eo.js +11 -0
  244. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/es.js +11 -0
  245. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/et.js +11 -0
  246. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/eu.js +11 -0
  247. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fa.js +11 -0
  248. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fi.js +11 -0
  249. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fo.js +11 -0
  250. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fr-ca.js +11 -0
  251. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fr.js +11 -0
  252. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/gl.js +11 -0
  253. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/gu.js +11 -0
  254. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/he.js +11 -0
  255. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hi.js +11 -0
  256. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hr.js +11 -0
  257. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hu.js +11 -0
  258. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/id.js +11 -0
  259. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/is.js +11 -0
  260. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/it.js +11 -0
  261. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ja.js +11 -0
  262. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ka.js +11 -0
  263. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/km.js +11 -0
  264. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ko.js +11 -0
  265. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ku.js +11 -0
  266. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/lt.js +11 -0
  267. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/lv.js +11 -0
  268. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/mk.js +11 -0
  269. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/mn.js +11 -0
  270. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ms.js +11 -0
  271. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/nb.js +11 -0
  272. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/nl.js +11 -0
  273. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/no.js +11 -0
  274. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pl.js +11 -0
  275. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pt-br.js +11 -0
  276. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pt.js +11 -0
  277. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ro.js +11 -0
  278. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ru.js +11 -0
  279. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/si.js +11 -0
  280. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sk.js +11 -0
  281. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sl.js +11 -0
  282. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sq.js +11 -0
  283. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sr-latn.js +11 -0
  284. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sr.js +11 -0
  285. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sv.js +11 -0
  286. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/th.js +11 -0
  287. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/tr.js +11 -0
  288. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ug.js +11 -0
  289. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/uk.js +11 -0
  290. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/vi.js +11 -0
  291. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/zh-cn.js +11 -0
  292. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/zh.js +11 -0
  293. data/app/assets/javascripts/ckeditor/plugins/iframe/plugin.js +83 -0
  294. data/app/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +3 -2
  295. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +1 -1
  296. data/app/assets/javascripts/ckeditor/plugins/{LoremIpsum/images → ipsum}/icon.png +0 -0
  297. data/app/assets/javascripts/ckeditor/plugins/ipsum/plugin.js +63 -0
  298. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  299. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +1 -1
  300. data/app/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  301. data/app/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  302. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  303. data/app/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  304. data/app/assets/javascripts/ckeditor/plugins/map/example_usage.js +30 -0
  305. data/app/assets/javascripts/ckeditor/plugins/map/map.gif +0 -0
  306. data/app/assets/javascripts/ckeditor/plugins/map/plugin.js +187 -0
  307. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  308. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  309. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +64 -0
  310. data/app/assets/javascripts/ckeditor/plugins/oembed/images/placeholder.png +0 -0
  311. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +69 -67
  312. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +56 -53
  313. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/icon.png +0 -0
  314. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/placeholder.png +0 -0
  315. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/de.js +23 -0
  316. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/en.js +23 -0
  317. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/fr.js +25 -0
  318. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/nl.js +23 -0
  319. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/pl.js +23 -0
  320. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/ru.js +23 -0
  321. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.js +971 -0
  322. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.min.js +11 -0
  323. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/plugin.js +373 -0
  324. data/app/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  325. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +21 -21
  326. data/app/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
  327. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  328. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  329. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  330. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  331. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  332. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  333. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  334. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  335. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  336. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  337. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  338. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
  339. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  340. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  341. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  342. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  343. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  344. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  345. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  346. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  347. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  348. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  349. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  350. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  351. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  352. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  353. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  354. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  355. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  356. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  357. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  358. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  359. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  360. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  361. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  362. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  363. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  364. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  365. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  366. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  367. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  368. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  369. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  370. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  371. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  372. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  373. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  374. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  375. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  376. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  377. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  378. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  379. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  380. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  381. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  382. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  383. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  384. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  385. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  386. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  387. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  388. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  389. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  390. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  391. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  392. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  393. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  394. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  395. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  396. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  397. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  398. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  399. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  400. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  401. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  402. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  403. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  404. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  405. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  406. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +152 -0
  407. data/app/assets/javascripts/ckeditor/{samples/plugins/stylesheetparser → plugins/stylesheetparser/samples}/assets/sample.css +70 -70
  408. data/app/assets/javascripts/ckeditor/{samples/plugins/stylesheetparser → plugins/stylesheetparser/samples}/stylesheetparser.html +82 -82
  409. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/lang/en.js +181 -0
  410. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/symbol.js +18 -0
  411. data/app/assets/javascripts/ckeditor/plugins/symbol/icons/symbol.png +0 -0
  412. data/app/assets/javascripts/ckeditor/plugins/symbol/lang/en.js +1 -0
  413. data/app/assets/javascripts/ckeditor/plugins/symbol/plugin.js +15 -0
  414. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +1 -1
  415. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  416. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  417. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  418. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  419. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  420. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  421. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  422. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +9 -0
  423. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  424. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  425. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  426. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  427. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
  428. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +225 -0
  429. data/app/assets/javascripts/ckeditor/plugins/wordcount/css/wordcount.css +3 -0
  430. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ca.js +11 -0
  431. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/de.js +11 -0
  432. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +11 -0
  433. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/es.js +11 -0
  434. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fr.js +9 -0
  435. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/no.js +8 -0
  436. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pl.js +11 -0
  437. data/app/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +193 -0
  438. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +17 -0
  439. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
  440. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +63 -7
  441. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  442. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  443. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/de.js +21 -0
  444. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/en.js +21 -0
  445. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/fr.js +21 -0
  446. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/hu.js +21 -0
  447. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/it.js +21 -0
  448. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/ja.js +21 -0
  449. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/pt.js +21 -0
  450. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/ru.js +21 -0
  451. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/tr.js +21 -0
  452. data/app/assets/javascripts/ckeditor/plugins/youtube/plugin.js +321 -0
  453. data/app/assets/javascripts/ckeditor/skins/moono/dialog.css +2 -2
  454. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +2 -2
  455. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +2 -2
  456. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +2 -2
  457. data/app/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +2 -2
  458. data/app/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +2 -2
  459. data/app/assets/javascripts/ckeditor/skins/moono/editor.css +2 -2
  460. data/app/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +2 -2
  461. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie.css +2 -2
  462. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +2 -2
  463. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +2 -2
  464. data/app/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +2 -2
  465. data/app/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  466. data/app/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png +0 -0
  467. data/app/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  468. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  469. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  470. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  471. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  472. data/app/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  473. data/app/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  474. data/app/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  475. data/app/assets/javascripts/ckeditor/styles.js +1 -1
  476. data/app/helpers/ckeditor/application_helper.rb +11 -0
  477. data/app/views/layouts/ckeditor/application.html.erb +17 -17
  478. data/lib/ckeditor/version.rb +2 -2
  479. metadata +422 -74
  480. data/app/assets/javascripts/ckeditor/plugins/LoremIpsum/images/icon1.png +0 -0
  481. data/app/assets/javascripts/ckeditor/plugins/LoremIpsum/plugin.js +0 -66
  482. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.ckeditor.css +0 -112
  483. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.css +0 -246
  484. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/dialog/dialog.js +0 -81
  485. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/closebrackets.js +0 -52
  486. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/closetag.js +0 -85
  487. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/continuecomment.js +0 -44
  488. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/continuelist.js +0 -25
  489. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/matchbrackets.js +0 -74
  490. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/brace-fold.js +0 -31
  491. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/foldcode.js +0 -32
  492. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/xml-fold.js +0 -64
  493. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/format/autoFormatAll.js +0 -43
  494. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/format/formatting.js +0 -114
  495. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/match-highlighter.js +0 -60
  496. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/search.js +0 -131
  497. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/searchcursor.js +0 -130
  498. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.js +0 -5516
  499. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/css.js +0 -567
  500. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/htmlmixed.js +0 -104
  501. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/javascript.js +0 -437
  502. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/xml.js +0 -328
  503. data/app/assets/javascripts/ckeditor/plugins/colorbutton/icons/bgcolor.png +0 -0
  504. data/app/assets/javascripts/ckeditor/plugins/colorbutton/icons/textcolor.png +0 -0
  505. data/app/assets/javascripts/ckeditor/plugins/colorbutton/lang/en.js +0 -53
  506. data/app/assets/javascripts/ckeditor/plugins/colorbutton/lang/ru.js +0 -53
  507. data/app/assets/javascripts/ckeditor/plugins/colorbutton/plugin.js +0 -277
  508. data/app/assets/javascripts/ckeditor/plugins/colordialog/lang/en.js +0 -11
  509. data/app/assets/javascripts/ckeditor/plugins/colordialog/lang/ru.js +0 -11
  510. data/app/assets/javascripts/ckeditor/plugins/colordialog/plugin.js +0 -65
  511. data/app/assets/javascripts/ckeditor/plugins/mediaembed/images/icon.png +0 -0
  512. data/app/assets/javascripts/ckeditor/plugins/panelbutton/plugin.js +0 -138
  513. data/app/assets/javascripts/ckeditor/samples/ajax.html +0 -82
  514. data/app/assets/javascripts/ckeditor/samples/api.html +0 -207
  515. data/app/assets/javascripts/ckeditor/samples/appendto.html +0 -57
  516. data/app/assets/javascripts/ckeditor/samples/assets/inlineall/logo.png +0 -0
  517. data/app/assets/javascripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +0 -204
  518. data/app/assets/javascripts/ckeditor/samples/assets/posteddata.php +0 -59
  519. data/app/assets/javascripts/ckeditor/samples/assets/sample.css +0 -3
  520. data/app/assets/javascripts/ckeditor/samples/assets/sample.jpg +0 -0
  521. data/app/assets/javascripts/ckeditor/samples/assets/uilanguages/languages.js +0 -7
  522. data/app/assets/javascripts/ckeditor/samples/datafiltering.html +0 -401
  523. data/app/assets/javascripts/ckeditor/samples/divreplace.html +0 -141
  524. data/app/assets/javascripts/ckeditor/samples/index.html +0 -125
  525. data/app/assets/javascripts/ckeditor/samples/inlineall.html +0 -311
  526. data/app/assets/javascripts/ckeditor/samples/inlinebycode.html +0 -122
  527. data/app/assets/javascripts/ckeditor/samples/plugins/dialog/assets/my_dialog.js +0 -48
  528. data/app/assets/javascripts/ckeditor/samples/plugins/dialog/dialog.html +0 -187
  529. data/app/assets/javascripts/ckeditor/samples/plugins/enterkey/enterkey.html +0 -103
  530. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  531. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  532. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +0 -18
  533. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputforflash.html +0 -280
  534. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputhtml.html +0 -221
  535. data/app/assets/javascripts/ckeditor/samples/plugins/magicline/magicline.html +0 -207
  536. data/app/assets/javascripts/ckeditor/samples/plugins/toolbar/toolbar.html +0 -232
  537. data/app/assets/javascripts/ckeditor/samples/plugins/wysiwygarea/fullpage.html +0 -77
  538. data/app/assets/javascripts/ckeditor/samples/readonly.html +0 -73
  539. data/app/assets/javascripts/ckeditor/samples/replacebyclass.html +0 -57
  540. data/app/assets/javascripts/ckeditor/samples/replacebycode.html +0 -56
  541. data/app/assets/javascripts/ckeditor/samples/sample.css +0 -339
  542. data/app/assets/javascripts/ckeditor/samples/sample.js +0 -33
  543. data/app/assets/javascripts/ckeditor/samples/sample_posteddata.php +0 -16
  544. data/app/assets/javascripts/ckeditor/samples/tabindex.html +0 -75
  545. data/app/assets/javascripts/ckeditor/samples/uicolor.html +0 -69
  546. data/app/assets/javascripts/ckeditor/samples/uilanguages.html +0 -119
  547. data/app/assets/javascripts/ckeditor/samples/xhtmlstyle.html +0 -231
  548. data/app/assets/javascripts/ckeditor/skins/moono/images/mini.png +0 -0
@@ -1,46 +1,49 @@
1
- (function(b){function m(){var a=window.location.protocol;return"file:"===a?"http://":a+"//"}function o(a,b){return b=b?b:"",a?o(--a,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt(Math.floor(60*Math.random()))+b):b}function q(a,b){var h=a.apiendpoint,c="",d,h=h+(0>=h.indexOf("?")?"?":"&"),h=h.replace("#","%23");null!==a.maxWidth&&("undefined"==typeof a.params.maxwidth||null===a.params.maxwidth)&&(a.params.maxwidth=a.maxWidth);null!==a.maxHeight&&("undefined"==typeof a.params.maxheight||
2
- null===a.params.maxheight)&&(a.params.maxheight=a.maxHeight);for(d in a.params)d!=a.callbackparameter&&null!==a.params[d]&&(c+="&"+escape(d)+"="+a.params[d]);return h+="format="+a.format+"&url="+escape(b)+c,"json"!=a.dataType&&(h+="&"+a.callbackparameter+"=?"),h}function n(a,l,h){b("#jqoembeddata").data(l,a.code);k.beforeEmbed.call(h,a);k.onEmbed.call(h,a);k.afterEmbed.call(h,a)}function e(a,l,h){var c,d,f;if(void 0!=b("#jqoembeddata").data(l)&&"iframe"!=h.embedtag.tag)d={code:b("#jqoembeddata").data(l)},
3
- n(d,l,a);else if(h.yql){d=h.yql.from||"htmlstring";var g=h.yql.url?h.yql.url(l):l;f="SELECT * FROM "+d+' WHERE url="'+g+'" and '+(/html/.test(d)?"xpath":"itemPath")+"='"+(h.yql.xpath||"/")+"'";"html"==d&&(f+=" and compat='html5'");f=b.extend({url:m()+"query.yahooapis.com/v1/public/yql",dataType:"jsonp",data:{q:f,format:"json",env:"store://datatables.org/alltableswithkeys",callback:"?"},success:function(c){var d,f,e,j,k;if(h.yql.xpath&&"//meta|//title|//link"==h.yql.xpath){d={};null==c.query.results&&
4
- (c.query.results={meta:[]});e=0;for(j=c.query.results.meta.length;e<j;e++)(f=c.query.results.meta[e].name||c.query.results.meta[e].property||null,null!=f)&&(d[f.toLowerCase()]=c.query.results.meta[e].content);if(d.hasOwnProperty("title")&&d.hasOwnProperty("og:title")||null!=c.query.results.title&&(d.title=c.query.results.title),!d.hasOwnProperty("og:image")&&c.query.results.hasOwnProperty("link")){e=0;for(j=c.query.results.link.length;e<j;e++)c.query.results.link[e].hasOwnProperty("rel")&&"apple-touch-icon"==
5
- c.query.results.link[e].rel&&(d["og:image"]="/"==c.query.results.link[e].href.charAt(0)?g.match(/^(([a-z]+:)?(\/\/)?[^\/]+\/).*$/)[1]+c.query.results.link[e].href:c.query.results.link[e].href)}c=h.yql.datareturn(d)}else c=h.yql.datareturn?h.yql.datareturn(c.query.results):c.query.results.result;!1!==c&&(k=b.extend({},c),k.code=c,n(k,l,a))},error:k.onError.call(a,l,h)},k.ajaxOptions||{});b.ajax(f)}else if(h.templateRegex)if(""!==h.embedtag.tag){d=h.embedtag.flashvars||"";f=h.embedtag.tag||"embed";
6
- c=h.embedtag.width||"auto";var e=h.embedtag.height||"auto",p=l.replace(h.templateRegex,h.apiendpoint);if(h.nocache||(p+="&jqoemcache="+o(5)),h.apikey&&(p=p.replace("_APIKEY_",k.apikeys[h.name])),k.maxHeight&&k.maxWidth)if(k.useResponsiveResize){var r=0,s=c,t=e;c>k.maxWidth&&(r=k.maxWidth/c,s=k.maxWidth,t=e*r,e*=r,c*=r);e>k.maxHeight&&(r=k.maxHeight/e,t=k.maxHeight,s=c*r,c*=r);e=t;c=s}else e=k.maxHeight,c=k.maxWidth;c=b("<"+f+"/>").attr("src",p).attr("width",c).attr("height",e).attr("allowfullscreen",
7
- h.embedtag.allowfullscreen||"true").attr("allowscriptaccess",h.embedtag.allowfullscreen||"always").css("max-height",k.maxHeight||"auto").css("max-width",k.maxWidth||"auto");"embed"==f&&c.attr("type",h.embedtag.type||"application/x-shockwave-flash").attr("flashvars",l.replace(h.templateRegex,d));"iframe"==f&&c.attr("scrolling",h.embedtag.scrolling||"no").attr("frameborder",h.embedtag.frameborder||"0");d={code:c};n(d,l,a)}else h.apiendpoint?(h.apikey&&(h.apiendpoint=h.apiendpoint.replace("_APIKEY_",
8
- k.apikeys[h.name])),f=b.extend({url:l.replace(h.templateRegex,h.apiendpoint),dataType:"jsonp",success:function(c){var d=b.extend({},c);d.code=h.templateData(c);n(d,l,a)},error:k.onError.call(a,l,h)},k.ajaxOptions||{}),b.ajax(f)):(d={code:l.replace(h.templateRegex,h.template)},n(d,l,a));else d=q(h,l),f=b.extend({url:d,dataType:h.dataType||"jsonp",success:function(c){c=b.extend({},c);switch(c.type){case "file":case "photo":c.code=b.fn.oembed.getPhotoCode(l,c);break;case "video":case "rich":c.code=b.fn.oembed.getRichCode(l,
9
- c);break;default:c.code=b.fn.oembed.getGenericCode(l,c)}n(c,l,a)},error:k.onError.call(a,l,h)},k.ajaxOptions||{}),b.ajax(f)}function p(a){if(null===a)return null;var b,e={};for(b in a)null!==b&&(e[b.toLowerCase()]=a[b]);return e}b.fn.oembed=function(a,l,h){k=b.extend(!0,b.fn.oembed.defaults,l);var c="0rz.tw 1link.in 1url.com 2.gp 2big.at 2tu.us 3.ly 307.to 4ms.me 4sq.com 4url.cc 6url.com 7.ly a.gg a.nf aa.cx abcurl.net ad.vu adf.ly adjix.com afx.cc all.fuseurl.com alturl.com amzn.to ar.gy arst.ch atu.ca azc.cc b23.ru b2l.me bacn.me bcool.bz binged.it bit.ly bizj.us bloat.me bravo.ly bsa.ly budurl.com canurl.com chilp.it chzb.gr cl.lk cl.ly clck.ru cli.gs cliccami.info clickthru.ca clop.in conta.cc cort.as cot.ag crks.me ctvr.us cutt.us dai.ly decenturl.com dfl8.me digbig.com http://digg.com/[^/]+$ disq.us dld.bz dlvr.it do.my doiop.com dopen.us easyuri.com easyurl.net eepurl.com eweri.com fa.by fav.me fb.me fbshare.me ff.im fff.to fire.to firsturl.de firsturl.net flic.kr flq.us fly2.ws fon.gs freak.to fuseurl.com fuzzy.to fwd4.me fwib.net g.ro.lt gizmo.do gl.am go.9nl.com go.ign.com go.usa.gov goo.gl goshrink.com gurl.es hex.io hiderefer.com hmm.ph href.in hsblinks.com htxt.it huff.to hulu.com hurl.me hurl.ws icanhaz.com idek.net ilix.in is.gd its.my ix.lt j.mp jijr.com kl.am klck.me korta.nu krunchd.com l9k.net lat.ms liip.to liltext.com linkbee.com linkbun.ch liurl.cn ln-s.net ln-s.ru lnk.gd lnk.ms lnkd.in lnkurl.com lru.jp lt.tl lurl.no macte.ch mash.to merky.de migre.me miniurl.com minurl.fr mke.me moby.to moourl.com mrte.ch myloc.me myurl.in n.pr nbc.co nblo.gs nn.nf not.my notlong.com nsfw.in nutshellurl.com nxy.in nyti.ms o-x.fr oc1.us om.ly omf.gd omoikane.net on.cnn.com on.mktw.net onforb.es orz.se ow.ly ping.fm pli.gs pnt.me politi.co post.ly pp.gg profile.to ptiturl.com pub.vitrue.com qlnk.net qte.me qu.tc qy.fi r.ebay.com r.im rb6.me read.bi readthis.ca reallytinyurl.com redir.ec redirects.ca redirx.com retwt.me ri.ms rickroll.it riz.gd rt.nu ru.ly rubyurl.com rurl.org rww.tw s4c.in s7y.us safe.mn sameurl.com sdut.us shar.es shink.de shorl.com short.ie short.to shortlinks.co.uk shorturl.com shout.to show.my shrinkify.com shrinkr.com shrt.fr shrt.st shrten.com shrunkin.com simurl.com slate.me smallr.com smsh.me smurl.name sn.im snipr.com snipurl.com snurl.com sp2.ro spedr.com srnk.net srs.li starturl.com stks.co su.pr surl.co.uk surl.hu t.cn t.co t.lh.com ta.gd tbd.ly tcrn.ch tgr.me tgr.ph tighturl.com tiniuri.com tiny.cc tiny.ly tiny.pl tinylink.in tinyuri.ca tinyurl.com tk. tl.gd tmi.me tnij.org tnw.to tny.com to.ly togoto.us totc.us toysr.us tpm.ly tr.im tra.kz trunc.it twhub.com twirl.at twitclicks.com twitterurl.net twitterurl.org twiturl.de twurl.cc twurl.nl u.mavrev.com u.nu u76.org ub0.cc ulu.lu updating.me ur1.ca url.az url.co.uk url.ie url360.me url4.eu urlborg.com urlbrief.com urlcover.com urlcut.com urlenco.de urli.nl urls.im urlshorteningservicefortwitter.com urlx.ie urlzen.com usat.ly use.my vb.ly vevo.ly vgn.am vl.am vm.lc w55.de wapo.st wapurl.co.uk wipi.es wp.me x.vu xr.com xrl.in xrl.us xurl.es xurl.jp y.ahoo.it yatuc.com ye.pe yep.it yfrog.com yhoo.it yiyd.com youtu.be yuarel.com z0p.de zi.ma zi.mu zipmyurl.com zud.me zurl.ws zz.gd zzang.kr ›.ws ✩.ws ✿.ws ❥.ws ➔.ws ➞.ws ➡.ws ➨.ws ➯.ws ➹.ws ➽.ws".split(" ");
10
- return 0===b("#jqoembeddata").length&&b('<span id="jqoembeddata"></span>').appendTo("body"),this.each(function(){var d=b(this),f=a&&(!a.indexOf("http://")||!a.indexOf("https://"))?a:d.attr("href"),g,l,m,n,o;if(h?k.onEmbed=h:k.onEmbed||(k.onEmbed=function(a){b.fn.oembed.insertCode(this,k.embedMethod,a)}),null!==f&&void 0!==f){l=0;for(m=c.length;l<m;l++)if(n=RegExp("://"+c[l]+"/","i"),null!==f.match(n))return o=b.extend({url:"http://api.longurl.org/v2/expand",dataType:"jsonp",data:{url:f,format:"json"},
11
- success:function(a){f=a["long-url"];g=b.fn.oembed.getOEmbedProvider(a["long-url"]);null!==g?(g.params=p(k[g.name])||{},g.maxWidth=k.maxWidth,g.maxHeight=k.maxHeight,e(d,f,g)):k.onProviderNotFound.call(d,f)}},k.ajaxOptions||{}),b.ajax(o),d;g=b.fn.oembed.getOEmbedProvider(f);null!==g?(g.params=p(k[g.name])||{},g.maxWidth=k.maxWidth,g.maxHeight=k.maxHeight,e(d,f,g)):k.onProviderNotFound.call(d,f)}return d})};var k;b.fn.oembed.defaults={maxWidth:null,maxHeight:null,useResponsiveResize:!1,includeHandle:!0,
12
- embedMethod:"auto",onProviderNotFound:function(){},beforeEmbed:function(){},afterEmbed:function(){},onEmbed:!1,onError:function(){},ajaxOptions:{}};b.fn.oembed.insertCode=function(a,l,e){if(null!==e)switch("auto"==l&&null!==a.attr("href")?l="append":"auto"==l&&(l="replace"),l){case "replace":a.replaceWith(e.code);break;case "fill":a.html(e.code);break;case "append":a.wrap('<div class="oembedall-container"></div>');l=a.parent();k.includeHandle&&b('<span class="oembedall-closehide">&darr;</span>').insertBefore(a).click(function(){var a=
13
- encodeURIComponent(b(this).text());b(this).html("%E2%86%91"==a?"&darr;":"&uarr;");b(this).parent().children().last().toggle()});l.append("<br/>");try{e.code.clone().appendTo(l)}catch(c){l.append(e.code)}}};b.fn.oembed.getPhotoCode=function(a,b){var e,c=b.title?b.title:"";return c+=b.author_name?" - "+b.author_name:"",c+=b.provider_name?" - "+b.provider_name:"",e='<div><a href="'+a+"\" target='_blank'><img src=\""+b.url+'" alt="'+c+'"/></a></div>',b.html&&(e+="<div>"+b.html+"</div>"),e};b.fn.oembed.getRichCode=
14
- function(a,b){return b.html};b.fn.oembed.getGenericCode=function(a,b){var e='<a href="'+a+'">'+(null!==b.title?b.title:a)+"</a>";return b.html&&(e+="<div>"+b.html+"</div>"),e};b.fn.oembed.getOEmbedProvider=function(a){for(var e,h,c,d=0;d<b.fn.oembed.providers.length;d++){e=0;for(h=b.fn.oembed.providers[d].urlschemes.length;e<h;e++)if(c=RegExp(b.fn.oembed.providers[d].urlschemes[e],"i"),null!==a.match(c))return b.fn.oembed.providers[d]}return null};b.fn.oembed.OEmbedProvider=function(a,b,e,c,d){this.name=
15
- a;this.type=b;this.urlschemes=e;this.apiendpoint=c;this.maxWidth=500;this.maxHeight=400;d=d||{};d.useYQL&&(d.yql="xml"==d.useYQL?{xpath:"//oembed/html",from:"xml",apiendpoint:this.apiendpoint,url:function(a){return this.apiendpoint+"?format=xml&url="+a},datareturn:function(a){return a.html.replace(/.*\[CDATA\[(.*)\]\]>$/,"$1")||""}}:{from:"json",apiendpoint:this.apiendpoint,url:function(a){return this.apiendpoint+"?format=json&url="+a},datareturn:function(a){return"video"!=a.json.type&&(a.json.url||
16
- a.json.thumbnail_url)?'<img src="'+(a.json.url||a.json.thumbnail_url)+'" />':a.json.html||""}},this.apiendpoint=null);for(var f in d)this[f]=d[f];this.format=this.format||"json";this.callbackparameter=this.callbackparameter||"callback";this.embedtag=this.embedtag||{tag:""}};b.fn.oembed.providers=[new b.fn.oembed.OEmbedProvider("youtube","video",["youtube\\.com/watch.+v=[\\w-]+&?","youtu\\.be/[\\w-]+","youtube.com/embed"],m()+"www.youtube.com/embed/$1?wmode=transparent",{templateRegex:/.*(?:v\=|be\/|embed\/)([\w\-]+)&?.*/,
17
- embedtag:{tag:"iframe",width:"425",height:"349"}}),new b.fn.oembed.OEmbedProvider("wistia","video",["wistia.com/m/.+","wistia.com/embed/.+","wi.st/m/.+","wi.st/embed/.+"],"http://fast.wistia.com/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("xtranormal","video",["xtranormal\\.com/watch/.+"],"http://www.xtranormal.com/xtraplayr/$1/$2",{templateRegex:/.*com\/watch\/([\w\-]+)\/([\w\-]+).*/,embedtag:{tag:"iframe",width:"320",height:"269"}}),new b.fn.oembed.OEmbedProvider("scivee","video",["scivee.tv/node/.+"],
18
- "http://www.scivee.tv/flash/embedCast.swf?",{templateRegex:/.*tv\/node\/(.+)/,embedtag:{width:"480",height:"400",flashvars:"id=$1&type=3"}}),new b.fn.oembed.OEmbedProvider("veoh","video",["veoh.com/watch/.+"],"http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1337&permalinkId=$1&player=videodetailsembedded&videoAutoPlay=0&id=anonymous",{templateRegex:/.*watch\/([^\?]+).*/,embedtag:{width:"410",height:"341"}}),new b.fn.oembed.OEmbedProvider("gametrailers","video",["gametrailers\\.com/video/.+"],
19
- "http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:$2",{templateRegex:/.*com\/video\/([\w\-]+)\/([\w\-]+).*/,embedtag:{width:"512",height:"288"}}),new b.fn.oembed.OEmbedProvider("funnyordie","video",["funnyordie\\.com/videos/.+"],"http://player.ordienetworks.com/flash/fodplayer.swf?",{templateRegex:/.*videos\/([^\/]+)\/([^\/]+)?/,embedtag:{width:512,height:328,flashvars:"key=$1"}}),new b.fn.oembed.OEmbedProvider("colledgehumour","video",["collegehumor\\.com/video/.+"],"http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=$1&use_node_id=true&fullscreen=1",
20
- {templateRegex:/.*video\/([^\/]+).*/,embedtag:{width:600,height:338}}),new b.fn.oembed.OEmbedProvider("metacafe","video",["metacafe\\.com/watch/.+"],"http://www.metacafe.com/fplayer/$1/$2.swf",{templateRegex:/.*watch\/(\d+)\/(\w+)\/.*/,embedtag:{width:400,height:345}}),new b.fn.oembed.OEmbedProvider("bambuser","video",["bambuser\\.com/channel/.*/broadcast/.*"],"http://static.bambuser.com/r/player.swf?vid=$1",{templateRegex:/.*bambuser\.com\/channel\/.*\/broadcast\/(\w+).*/,embedtag:{width:512,height:339}}),
21
- new b.fn.oembed.OEmbedProvider("twitvid","video",["twitvid\\.com/.+"],"http://www.twitvid.com/embed.php?guid=$1&autoplay=0",{templateRegex:/.*twitvid\.com\/(\w+).*/,embedtag:{tag:"iframe",width:480,height:360}}),new b.fn.oembed.OEmbedProvider("aniboom","video",["aniboom\\.com/animation-video/.+"],"http://api.aniboom.com/e/$1",{templateRegex:/.*animation-video\/(\d+).*/,embedtag:{width:594,height:334}}),new b.fn.oembed.OEmbedProvider("vzaar","video",["vzaar\\.com/videos/.+","vzaar.tv/.+"],"http://view.vzaar.com/$1/player?",
22
- {templateRegex:/.*\/(\d+).*/,embedtag:{tag:"iframe",width:576,height:324}}),new b.fn.oembed.OEmbedProvider("snotr","video",["snotr\\.com/video/.+"],"http://www.snotr.com/embed/$1",{templateRegex:/.*\/(\d+).*/,embedtag:{tag:"iframe",width:400,height:330,nocache:1}}),new b.fn.oembed.OEmbedProvider("youku","video",["v.youku.com/v_show/id_.+"],"http://player.youku.com/player.php/sid/$1/v.swf",{templateRegex:/.*id_(.+)\.html.*/,embedtag:{width:480,height:400,nocache:1}}),new b.fn.oembed.OEmbedProvider("tudou",
23
- "video",["tudou.com/programs/view/.+/"],"http://www.tudou.com/v/$1/v.swf",{templateRegex:/.*view\/(.+)\//,embedtag:{width:480,height:400,nocache:1}}),new b.fn.oembed.OEmbedProvider("embedr","video",["embedr\\.com/playlist/.+"],"http://embedr.com/swf/slider/$1/425/520/default/false/std?",{templateRegex:/.*playlist\/([^\/]+).*/,embedtag:{width:425,height:520}}),new b.fn.oembed.OEmbedProvider("blip","video",["blip\\.tv/.+"],"http://blip.tv/oembed/"),new b.fn.oembed.OEmbedProvider("minoto-video","video",
24
- ["http://api.minoto-video.com/publishers/.+/videos/.+","http://dashboard.minoto-video.com/main/video/details/.+","http://embed.minoto-video.com/.+"],"http://api.minoto-video.com/services/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("animoto","video",["animoto.com/play/.+"],"http://animoto.com/services/oembed"),new b.fn.oembed.OEmbedProvider("hulu","video",["hulu\\.com/watch/.*"],"http://www.hulu.com/api/oembed.json"),new b.fn.oembed.OEmbedProvider("ustream","video",["ustream\\.tv/recorded/.*"],
25
- "http://www.ustream.tv/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("videojug","video",["videojug\\.com/(film|payer|interview).*"],"http://www.videojug.com/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("sapo","video",["videos\\.sapo\\.pt/.*"],"http://videos.sapo.pt/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("vodpod","video",["vodpod.com/watch/.*"],"http://vodpod.com/oembed.js",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("vimeo","video",["http://www.vimeo.com/groups/.*/videos/.*",
26
- "http://www.vimeo.com/.*","http://vimeo.com/groups/.*/videos/.*","http://vimeo.com/.*"],m()+"vimeo.com/api/oembed.json"),new b.fn.oembed.OEmbedProvider("dailymotion","video",["dailymotion\\.com/.+"],"http://www.dailymotion.com/services/oembed"),new b.fn.oembed.OEmbedProvider("5min","video",["www\\.5min\\.com/.+"],"http://api.5min.com/oembed.xml",{useYQL:"xml"}),new b.fn.oembed.OEmbedProvider("National Film Board of Canada","video",["nfb\\.ca/film/.+"],"http://www.nfb.ca/remote/services/oembed/",{useYQL:"json"}),
27
- new b.fn.oembed.OEmbedProvider("qik","video",["qik\\.com/\\w+"],"http://qik.com/api/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("revision3","video",["revision3\\.com"],"http://revision3.com/api/oembed/"),new b.fn.oembed.OEmbedProvider("dotsub","video",["dotsub\\.com/view/.+"],"http://dotsub.com/services/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("clikthrough","video",["clikthrough\\.com/theater/video/\\d+"],"http://clikthrough.com/services/oembed"),new b.fn.oembed.OEmbedProvider("Kinomap",
28
- "video",["kinomap\\.com/.+"],"http://www.kinomap.com/oembed"),new b.fn.oembed.OEmbedProvider("VHX","video",["vhx.tv/.+"],"http://vhx.tv/services/oembed.json"),new b.fn.oembed.OEmbedProvider("bambuser","video",["bambuser.com/.+"],"http://api.bambuser.com/oembed/iframe.json"),new b.fn.oembed.OEmbedProvider("justin.tv","video",["justin.tv/.+"],"http://api.justin.tv/api/embed/from_url.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("official.fm","rich",["official.fm/.+"],"http://official.fm/services/oembed",
29
- {useYQL:"json"}),new b.fn.oembed.OEmbedProvider("chirbit","rich",["chirb.it/.+"],"http://chirb.it/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("Huffduffer","rich",["huffduffer.com/[-.\\w@]+/\\d+"],"http://huffduffer.com/oembed"),new b.fn.oembed.OEmbedProvider("shoudio","rich",["shoudio.com/.+","shoud.io/.+"],"http://shoudio.com/api/oembed"),new b.fn.oembed.OEmbedProvider("mixcloud","rich",["mixcloud.com/.+"],m()+"www.mixcloud.com/oembed/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("rdio.com",
30
- "rich",["rd.io/.+","rdio.com"],m()+"www.rdio.com/api/oembed/"),new b.fn.oembed.OEmbedProvider("Soundcloud","rich",["soundcloud.com/.+","snd.sc/.+"],m()+"soundcloud.com/oembed",{format:"js"}),new b.fn.oembed.OEmbedProvider("bandcamp","rich",["bandcamp\\.com/album/.+"],null,{yql:{xpath:"//meta[contains(@content, \\'EmbeddedPlayer\\')]",from:"html",datareturn:function(a){return a.meta?'<iframe width="400" height="100" src="'+a.meta.content+'" allowtransparency="true" frameborder="0"></iframe>':!1}}}),
31
- new b.fn.oembed.OEmbedProvider("deviantart","photo",["deviantart.com/.+","fav.me/.+","deviantart.com/.+"],"http://backend.deviantart.com/oembed",{format:"jsonp"}),new b.fn.oembed.OEmbedProvider("skitch","photo",["skitch.com/.+"],null,{yql:{xpath:"json",from:"json",url:function(a){return"http://skitch.com/oembed/?format=json&url="+a},datareturn:function(a){return b.fn.oembed.getPhotoCode(a.json.url,a.json)}}}),new b.fn.oembed.OEmbedProvider("mobypicture","photo",["mobypicture.com/user/.+/view/.+",
32
- "moby.to/.+"],"http://api.mobypicture.com/oEmbed"),new b.fn.oembed.OEmbedProvider("flickr","photo",["flickr\\.com/photos/.+"],"http://flickr.com/services/oembed",{callbackparameter:"jsoncallback"}),new b.fn.oembed.OEmbedProvider("photobucket","photo",["photobucket\\.com/(albums|groups)/.+"],m()+"photobucket.com/oembed/"),new b.fn.oembed.OEmbedProvider("instagram","photo",["instagr\\.?am(\\.com)?/.+"],m()+"api.instagram.com/oembed"),new b.fn.oembed.OEmbedProvider("SmugMug","photo",["smugmug.com/[-.\\w@]+/.+"],
33
- "http://api.smugmug.com/services/oembed/"),new b.fn.oembed.OEmbedProvider("dribbble","photo",["dribbble.com/shots/.+"],"http://api.dribbble.com/shots/$1?callback=?",{templateRegex:/.*shots\/([\d]+).*/,templateData:function(a){return a.image_teaser_url?'<img src="'+a.image_teaser_url+'"/>':!1}}),new b.fn.oembed.OEmbedProvider("chart.ly","photo",["chart\\.ly/[a-z0-9]{6,8}"],"http://chart.ly/uploads/large_$1.png",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("circuitlab",
34
- "photo",["circuitlab.com/circuit/.+"],"https://www.circuitlab.com/circuit/$1/screenshot/540x405/",{templateRegex:/.*circuit\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("23hq","photo",["23hq.com/[-.\\w@]+/photo/.+"],"http://www.23hq.com/23/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("img.ly","photo",["img\\.ly/.+"],"http://img.ly/show/thumb/$1",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("twitgoo.com",
35
- "photo",["twitgoo\\.com/.+"],"http://twitgoo.com/show/thumb/$1",{templateRegex:/.*com\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("imgur.com","photo",["imgur\\.com/gallery/.+"],m()+"imgur.com/$1l.jpg",{templateRegex:/.*gallery\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("visual.ly","rich",["visual\\.ly/.+"],null,{yql:{xpath:"//a[@id=\\'gc_article_graphic_image\\']/img",from:"htmlstring"}}),new b.fn.oembed.OEmbedProvider("gravtar","photo",
36
- ["mailto:.+"],null,{templateRegex:/mailto:([^\/]+).*/,template:function(a,b){return'<img src="http://gravatar.com/avatar/'+b.md5()+'.jpg" alt="on Gravtar" class="jqoaImg">'}}),new b.fn.oembed.OEmbedProvider("twitter","rich",["twitter.com/.+"],"https://api.twitter.com/1/statuses/oembed.json"),new b.fn.oembed.OEmbedProvider("gmep","rich",["gmep.imeducate.com/.*","gmep.org/.*"],"http://gmep.org/oembed.json"),new b.fn.oembed.OEmbedProvider("urtak","rich",["urtak.com/(u|clr)/.+"],"http://oembed.urtak.com/1/oembed"),
37
- new b.fn.oembed.OEmbedProvider("cacoo","rich",["cacoo.com/.+"],"http://cacoo.com/oembed.json"),new b.fn.oembed.OEmbedProvider("dailymile","rich",["dailymile.com/people/.*/entries/.*"],"http://api.dailymile.com/oembed"),new b.fn.oembed.OEmbedProvider("dipity","rich",["dipity.com/timeline/.+"],"http://www.dipity.com/oembed/timeline/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("sketchfab","rich",["sketchfab.com/show/.+"],"http://sketchfab.com/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("speakerdeck",
38
- "rich",["speakerdeck.com/.+"],"http://speakerdeck.com/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("popplet","rich",["popplet.com/app/.*"],"http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",{templateRegex:/.*#\/([^\/]+).*/,embedtag:{width:460,height:460}}),new b.fn.oembed.OEmbedProvider("pearltrees","rich",["pearltrees.com/.*"],"http://cdn.pearltrees.com/s/embed/getApp?",{templateRegex:/.*N-f=1_(\d+).*N-p=(\d+).*/,embedtag:{width:460,height:460,flashvars:"lang=en_US&amp;embedId=pt-embed-$1-693&amp;treeId=$1&amp;pearlId=$2&amp;treeTitle=Diagrams%2FVisualization&amp;site=www.pearltrees.com%2FF"}}),
39
- new b.fn.oembed.OEmbedProvider("prezi","rich",["prezi.com/.*"],"http://prezi.com/bin/preziloader.swf?",{templateRegex:/.*com\/([^\/]+)\/.*/,embedtag:{width:550,height:400,flashvars:"prezi_id=$1&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"}}),new b.fn.oembed.OEmbedProvider("tourwrist","rich",["tourwrist.com/tours/.+"],null,{templateRegex:/.*tours.([\d]+).*/,template:function(a,b){return setTimeout(function(){loadEmbeds&&loadEmbeds()},2E3),"<div id='"+b+"' class='tourwrist-tour-embed direct'></div> <script type='text/javascript' src='http://tourwrist.com/tour_embed.js'><\/script>"}}),
40
- new b.fn.oembed.OEmbedProvider("meetup","rich",["meetup\\.(com|ps)/.+"],m()+"api.meetup.com/oembed"),new b.fn.oembed.OEmbedProvider("ebay","rich",["ebay\\.*"],m()+"togo.ebay.com/togo/togo.swf?2008013100",{templateRegex:/.*\/([^\/]+)\/(\d{10,13}).*/,embedtag:{width:355,height:300,flashvars:"base=http://togo.ebay.com/togo/&lang=en-us&mode=normal&itemid=$2&query=$1"}}),new b.fn.oembed.OEmbedProvider("wikipedia","rich",["wikipedia.org/wiki/.+"],"http://$1.wikipedia.org/w/api.php?action=parse&page=$2&format=json&section=0&callback=?",
41
- {templateRegex:/.*\/\/([\w]+).*\/wiki\/([^\/]+).*/,templateData:function(a){if(!a.parse)return!1;var b=a.parse.text["*"].replace(/href="\/wiki/g,'href="http://en.wikipedia.org/wiki');return'<div id="content"><h3><a class="nav-link" href="http://en.wikipedia.org/wiki/'+a.parse.displaytitle+'">'+a.parse.displaytitle+"</a></h3>"+b+"</div>"}}),new b.fn.oembed.OEmbedProvider("imdb","rich",["imdb.com/title/.+"],"http://www.imdbapi.com/?i=$1&callback=?",{templateRegex:/.*\/title\/([^\/]+).*/,templateData:function(a){return a.Title?
42
- '<div id="content"><h3><a class="nav-link" href="http://imdb.com/title/'+a.ID+'/">'+a.Title+"</a> ("+a.Year+")</h3><p>Starring: "+a.Actors+'</p><div id="photo-wrap" style="margin: auto;width:600px;height:450px;"><img class="photo" id="photo-display" src="'+a.Poster+'" alt="'+a.Title+'"></div> <div id="view-photo-caption">'+a.Plot+"</div></div>":!1}}),new b.fn.oembed.OEmbedProvider("livejournal","rich",["livejournal.com/"],"http://ljpic.seacrow.com/json/$2$4?jsonp=?",{templateRegex:/(http:\/\/(((?!users).)+)\.livejournal\.com|.*users\.livejournal\.com\/([^\/]+)).*/,
43
- templateData:function(a){return a.username?'<div><img src="'+a.image+'" align="left" style="margin-right: 1em;" /><span class="oembedall-ljuser"><a href="http://'+a.username+'.livejournal.com/profile"><img src="http://www.livejournal.com/img/userinfo.gif" alt="[info]" width="17" height="17" /></a><a href="http://'+a.username+'.livejournal.com/">'+a.username+"</a></span><br />"+a.name+"</div>":!1}}),new b.fn.oembed.OEmbedProvider("circuitbee","rich",["circuitbee\\.com/circuit/view/.+"],"http://c.circuitbee.com/build/r/schematic-embed.html?id=$1",
1
+ (function(b){function m(){var a=window.location.protocol;return"file:"===a?"http://":a+"//"}function o(a,b){return b=b?b:"",a?o(--a,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt(Math.floor(60*Math.random()))+b):b}function q(a,b){var h=a.apiendpoint,d="",c,h=h+(0>=h.indexOf("?")?"?":"&"),h=h.replace("#","%23");null!==a.maxWidth&&("undefined"==typeof a.params.maxwidth||null===a.params.maxwidth)&&(a.params.maxwidth=a.maxWidth);null!==a.maxHeight&&("undefined"==typeof a.params.maxheight||
2
+ null===a.params.maxheight)&&(a.params.maxheight=a.maxHeight);for(c in a.params)c!=a.callbackparameter&&null!==a.params[c]&&(d+="&"+escape(c)+"="+a.params[c]);return h+="format="+a.format+"&url="+escape(b)+d,"json"!=a.dataType&&(h+="&"+a.callbackparameter+"=?"),h}function n(a,l,h){b("#jqoembeddata").data(l,a.code);j.beforeEmbed.call(h,a);j.onEmbed.call(h,a);j.afterEmbed.call(h,a)}function e(a,l,h){var d,c,f;if(void 0!=b("#jqoembeddata").data(l)&&"iframe"!=h.embedtag.tag)c={code:b("#jqoembeddata").data(l)},
3
+ n(c,l,a);else if(h.yql){c=h.yql.from||"htmlstring";var g=h.yql.url?h.yql.url(l):l;f="SELECT * FROM "+c+' WHERE url="'+g+'" and '+(/html/.test(c)?"xpath":"itemPath")+"='"+(h.yql.xpath||"/")+"'";"html"==c&&(f+=" and compat='html5'");f=b.extend({url:m()+"query.yahooapis.com/v1/public/yql",dataType:"jsonp",data:{q:f,format:"json",env:"store://datatables.org/alltableswithkeys",callback:"?"},success:function(c){var d,f,e,k,j;if(h.yql.xpath&&"//meta|//title|//link"==h.yql.xpath){d={};null==c.query.results&&
4
+ (c.query.results={meta:[]});e=0;for(k=c.query.results.meta.length;e<k;e++)(f=c.query.results.meta[e].name||c.query.results.meta[e].property||null,null!=f)&&(d[f.toLowerCase()]=c.query.results.meta[e].content);if(d.hasOwnProperty("title")&&d.hasOwnProperty("og:title")||null!=c.query.results.title&&(d.title=c.query.results.title),!d.hasOwnProperty("og:image")&&c.query.results.hasOwnProperty("link")){e=0;for(k=c.query.results.link.length;e<k;e++)c.query.results.link[e].hasOwnProperty("rel")&&"apple-touch-icon"==
5
+ c.query.results.link[e].rel&&(d["og:image"]="/"==c.query.results.link[e].href.charAt(0)?g.match(/^(([a-z]+:)?(\/\/)?[^\/]+\/).*$/)[1]+c.query.results.link[e].href:c.query.results.link[e].href)}c=h.yql.datareturn(d)}else c=h.yql.datareturn?h.yql.datareturn(c.query.results):c.query.results.result;!1!==c&&(j=b.extend({},c),j.code=c,n(j,l,a))},error:function(){j.onError.call(a,l,h)}},j.ajaxOptions||{});b.ajax(f)}else if(h.templateRegex)if(""!==h.embedtag.tag){c=h.embedtag.flashvars||"";f=h.embedtag.tag||
6
+ "embed";d=h.embedtag.width||"auto";var e=h.embedtag.height||"auto",p=l.replace(h.templateRegex,h.apiendpoint);if(h.nocache||(p+="&jqoemcache="+o(5)),h.apikey&&(p=p.replace("_APIKEY_",j.apikeys[h.name])),j.maxHeight&&j.maxWidth)if(j.useResponsiveResize){var r=0,s=d,t=e;d>j.maxWidth&&(r=j.maxWidth/d,s=j.maxWidth,t=e*r,e*=r,d*=r);e>j.maxHeight&&(r=j.maxHeight/e,t=j.maxHeight,s=d*r,d*=r);e=t;d=s}else e=j.maxHeight,d=j.maxWidth;d=b("<"+f+"/>").attr("src",p).attr("width",d).attr("height",e).attr("allowfullscreen",
7
+ h.embedtag.allowfullscreen||"true").attr("allowscriptaccess",h.embedtag.allowfullscreen||"always").css("max-height",j.maxHeight||"auto").css("max-width",j.maxWidth||"auto");"embed"==f&&d.attr("type",h.embedtag.type||"application/x-shockwave-flash").attr("flashvars",l.replace(h.templateRegex,c));"iframe"==f&&d.attr("scrolling",h.embedtag.scrolling||"no").attr("frameborder",h.embedtag.frameborder||"0");c={code:d};n(c,l,a)}else h.apiendpoint?(h.apikey&&(h.apiendpoint=h.apiendpoint.replace("_APIKEY_",
8
+ j.apikeys[h.name])),f=b.extend({url:l.replace(h.templateRegex,h.apiendpoint),dataType:"jsonp",success:function(c){var d=b.extend({},c);d.code=h.templateData(c);n(d,l,a)},error:function(){j.onError.call(a,l,h)}},j.ajaxOptions||{}),b.ajax(f)):(c={code:l.replace(h.templateRegex,h.template)},n(c,l,a));else c=q(h,l),f=b.extend({url:c,dataType:h.dataType||"jsonp",success:function(c){c=b.extend({},c);switch(c.type){case "file":case "photo":c.code=b.fn.oembed.getPhotoCode(l,c);break;case "video":case "rich":c.code=
9
+ b.fn.oembed.getRichCode(l,c);break;default:c.code=b.fn.oembed.getGenericCode(l,c)}n(c,l,a)},error:function(){j.onError.call(a,l,h)}},j.ajaxOptions||{}),b.ajax(f)}function p(a){if(null===a)return null;var b,e={};for(b in a)null!==b&&(e[b.toLowerCase()]=a[b]);return e}b.fn.oembed=function(a,l,h){j=b.extend(!0,b.fn.oembed.defaults,l);var d="0rz.tw 1link.in 1url.com 2.gp 2big.at 2tu.us 3.ly 307.to 4ms.me 4sq.com 4url.cc 6url.com 7.ly a.gg a.nf aa.cx abcurl.net ad.vu adf.ly adjix.com afx.cc all.fuseurl.com alturl.com amzn.to ar.gy arst.ch atu.ca azc.cc b23.ru b2l.me bacn.me bcool.bz binged.it bit.ly bizj.us bloat.me bravo.ly bsa.ly budurl.com canurl.com chilp.it chzb.gr cl.lk cl.ly clck.ru cli.gs cliccami.info clickthru.ca clop.in conta.cc cort.as cot.ag crks.me ctvr.us cutt.us dai.ly decenturl.com dfl8.me digbig.com http://digg.com/[^/]+$ disq.us dld.bz dlvr.it do.my doiop.com dopen.us easyuri.com easyurl.net eepurl.com eweri.com fa.by fav.me fb.me fbshare.me ff.im fff.to fire.to firsturl.de firsturl.net flic.kr flq.us fly2.ws fon.gs freak.to fuseurl.com fuzzy.to fwd4.me fwib.net g.ro.lt gizmo.do gl.am go.9nl.com go.ign.com go.usa.gov goo.gl goshrink.com gurl.es hex.io hiderefer.com hmm.ph href.in hsblinks.com htxt.it huff.to hulu.com hurl.me hurl.ws icanhaz.com idek.net ilix.in is.gd its.my ix.lt j.mp jijr.com kl.am klck.me korta.nu krunchd.com l9k.net lat.ms liip.to liltext.com linkbee.com linkbun.ch liurl.cn ln-s.net ln-s.ru lnk.gd lnk.ms lnkd.in lnkurl.com lru.jp lt.tl lurl.no macte.ch mash.to merky.de migre.me miniurl.com minurl.fr mke.me moby.to moourl.com mrte.ch myloc.me myurl.in n.pr nbc.co nblo.gs nn.nf not.my notlong.com nsfw.in nutshellurl.com nxy.in nyti.ms o-x.fr oc1.us om.ly omf.gd omoikane.net on.cnn.com on.mktw.net onforb.es orz.se ow.ly ping.fm pli.gs pnt.me politi.co post.ly pp.gg profile.to ptiturl.com pub.vitrue.com qlnk.net qte.me qu.tc qy.fi r.ebay.com r.im rb6.me read.bi readthis.ca reallytinyurl.com redir.ec redirects.ca redirx.com retwt.me ri.ms rickroll.it riz.gd rt.nu ru.ly rubyurl.com rurl.org rww.tw s4c.in s7y.us safe.mn sameurl.com sdut.us shar.es shink.de shorl.com short.ie short.to shortlinks.co.uk shorturl.com shout.to show.my shrinkify.com shrinkr.com shrt.fr shrt.st shrten.com shrunkin.com simurl.com slate.me smallr.com smsh.me smurl.name sn.im snipr.com snipurl.com snurl.com sp2.ro spedr.com srnk.net srs.li starturl.com stks.co su.pr surl.co.uk surl.hu t.cn t.co t.lh.com ta.gd tbd.ly tcrn.ch tgr.me tgr.ph tighturl.com tiniuri.com tiny.cc tiny.ly tiny.pl tinylink.in tinyuri.ca tinyurl.com tk. tl.gd tmi.me tnij.org tnw.to tny.com to.ly togoto.us totc.us toysr.us tpm.ly tr.im tra.kz trunc.it twhub.com twirl.at twitclicks.com twitterurl.net twitterurl.org twiturl.de twurl.cc twurl.nl u.mavrev.com u.nu u76.org ub0.cc ulu.lu updating.me ur1.ca url.az url.co.uk url.ie url360.me url4.eu urlborg.com urlbrief.com urlcover.com urlcut.com urlenco.de urli.nl urls.im urlshorteningservicefortwitter.com urlx.ie urlzen.com usat.ly use.my vb.ly vevo.ly vgn.am vl.am vm.lc w55.de wapo.st wapurl.co.uk wipi.es wp.me x.vu xr.com xrl.in xrl.us xurl.es xurl.jp y.ahoo.it yatuc.com ye.pe yep.it yfrog.com yhoo.it yiyd.com youtu.be yuarel.com z0p.de zi.ma zi.mu zipmyurl.com zud.me zurl.ws zz.gd zzang.kr ›.ws ✩.ws ✿.ws ❥.ws ➔.ws ➞.ws ➡.ws ➨.ws ➯.ws ➹.ws ➽.ws".split(" ");
10
+ return 0===b("#jqoembeddata").length&&b('<span id="jqoembeddata"></span>').appendTo("body"),this.each(function(){var c=b(this),f=a&&(!a.indexOf("http://")||!a.indexOf("https://"))?a:c.attr("href"),g,l,m,n,o;if(h?j.onEmbed=h:j.onEmbed||(j.onEmbed=function(a){b.fn.oembed.insertCode(this,j.embedMethod,a)}),null!==f&&void 0!==f){l=0;for(m=d.length;l<m;l++)if(n=RegExp("://"+d[l]+"/","i"),null!==f.match(n))return o=b.extend({url:"http://api.longurl.org/v2/expand",dataType:"jsonp",data:{url:f,format:"json"},
11
+ success:function(a){f=a["long-url"];g=b.fn.oembed.getOEmbedProvider(a["long-url"]);null!==g?(g.params=p(j[g.name])||{},g.maxWidth=j.maxWidth,g.maxHeight=j.maxHeight,e(c,f,g)):j.onProviderNotFound.call(c,f)}},j.ajaxOptions||{}),b.ajax(o),c;g=b.fn.oembed.getOEmbedProvider(f);null!==g?(g.params=p(j[g.name])||{},g.maxWidth=j.maxWidth,g.maxHeight=j.maxHeight,e(c,f,g)):j.onProviderNotFound.call(c,f)}return c})};var j;b.fn.oembed.defaults={maxWidth:null,maxHeight:null,useResponsiveResize:!1,includeHandle:!0,
12
+ embedMethod:"auto",onProviderNotFound:function(){},beforeEmbed:function(){},afterEmbed:function(){},onEmbed:!1,onError:function(){},ajaxOptions:{timeout:2E3}};b.fn.oembed.insertCode=function(a,l,e){if(null!==e)switch("auto"==l&&null!==a.attr("href")?l="append":"auto"==l&&(l="replace"),l){case "replace":a.replaceWith(e.code);break;case "fill":a.html(e.code);break;case "append":a.wrap('<div class="oembedall-container"></div>');l=a.parent();j.includeHandle&&b('<span class="oembedall-closehide">&darr;</span>').insertBefore(a).click(function(){var a=
13
+ encodeURIComponent(b(this).text());b(this).html("%E2%86%91"==a?"&darr;":"&uarr;");b(this).parent().children().last().toggle()});l.append("<br/>");try{e.code.clone().appendTo(l)}catch(d){l.append(e.code)}}};b.fn.oembed.getPhotoCode=function(a,b){var e,d=b.title?b.title:"",c;return d+=b.author_name?" - "+b.author_name:"",d+=b.provider_name?" - "+b.provider_name:"",b.url?e='<div><a href="'+a+"\" target='_blank'><img src=\""+b.url+'" alt="'+d+'"/></a></div>':b.thumbnail_url?(c=b.thumbnail_url.replace("_s",
14
+ "_b"),e='<div><a href="'+a+"\" target='_blank'><img src=\""+c+'" alt="'+d+'"/></a></div>'):e="<div>Error loading this picture</div>",b.html&&(e+="<div>"+b.html+"</div>"),e};b.fn.oembed.getRichCode=function(a,b){return b.html};b.fn.oembed.getGenericCode=function(a,b){var e='<a href="'+a+'">'+(null!==b.title?b.title:a)+"</a>";return b.html&&(e+="<div>"+b.html+"</div>"),e};b.fn.oembed.getOEmbedProvider=function(a){for(var e,h,d,c=0;c<b.fn.oembed.providers.length;c++){e=0;for(h=b.fn.oembed.providers[c].urlschemes.length;e<
15
+ h;e++)if(d=RegExp(b.fn.oembed.providers[c].urlschemes[e],"i"),null!==a.match(d))return b.fn.oembed.providers[c]}return null};b.fn.oembed.OEmbedProvider=function(a,e,h,d,c){this.name=a;this.type=e;this.urlschemes=h;this.apiendpoint=d;this.maxWidth=500;this.maxHeight=400;c=c||{};c.useYQL&&(c.yql="xml"==c.useYQL?{xpath:"//oembed/html",from:"xml",apiendpoint:this.apiendpoint,url:function(a){return this.apiendpoint+"?format=xml&url="+a},datareturn:function(a){return a.html.replace(/.*\[CDATA\[(.*)\]\]>$/,
16
+ "$1")||""}}:{from:"json",apiendpoint:this.apiendpoint,url:function(a){return this.apiendpoint+"?format=json&url="+a},datareturn:function(a){var c,d,e;if("video"!=a.json.type&&(a.json.url||a.json.thumbnail_url))return'<img src="'+(a.json.url||a.json.thumbnail_url)+'" />';if(a.json.html.indexOf("iframe")){a.json.html.indexOf("allowfullscreen>")&&(a.json.html=a.json.html.replace("allowfullscreen>",'allowfullscreen="false">'));var a=b.parseHTML(a.json.html),f=a[0].width,l=a[0].height;return j.maxHeight&&
17
+ j.maxWidth&&(j.useResponsiveResize?(d=f,e=l,f>j.maxWidth&&(c=j.maxWidth/f,d=j.maxWidth,e=l*c,l*=c,f*=c),l>j.maxHeight&&(c=j.maxHeight/l,e=j.maxHeight,d=f*c),l=e,f=d):(l=j.maxHeight,f=j.maxWidth)),a[0].width=f,a[0].height=l,a[0].outerHTML}return a.json.html||""}},this.apiendpoint=null);for(var f in c)this[f]=c[f];this.format=this.format||"json";this.callbackparameter=this.callbackparameter||"callback";this.embedtag=this.embedtag||{tag:""}};b.fn.updateOEmbedProvider=function(a,e,h,d,c){for(var f,g=
18
+ 0;g<b.fn.oembed.providers.length;g++)if(b.fn.oembed.providers[g].name===a&&(null!==e&&(b.fn.oembed.providers[g].type=e),null!==h&&(b.fn.oembed.providers[g].urlschemes=h),null!==d&&(b.fn.oembed.providers[g].apiendpoint=d),null!==c))for(f in b.fn.oembed.providers[g].extraSettings=c,c)null!==c[f]&&(b.fn.oembed.providers[g][f]=c[f])};b.fn.oembed.providers=[new b.fn.oembed.OEmbedProvider("youtube","video",["youtube\\.com/watch.+v=[\\w-]+&?","youtu\\.be/[\\w-]+"],m()+"www.youtube.com/oembed",{useYQL:"json"}),
19
+ new b.fn.oembed.OEmbedProvider("youtubeiframe","video",["youtube.com/embed"],"$1?wmode=transparent",{templateRegex:/(.*)/,embedtag:{tag:"iframe",width:"425",height:"349"}}),new b.fn.oembed.OEmbedProvider("wistia","video",["wistia.com/m/.+","wistia.com/embed/.+","wi.st/m/.+","wi.st/embed/.+"],"http://fast.wistia.com/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("xtranormal","video",["xtranormal\\.com/watch/.+"],"http://www.xtranormal.com/xtraplayr/$1/$2",{templateRegex:/.*com\/watch\/([\w\-]+)\/([\w\-]+).*/,
20
+ embedtag:{tag:"iframe",width:"320",height:"269"}}),new b.fn.oembed.OEmbedProvider("scivee","video",["scivee.tv/node/.+"],"http://www.scivee.tv/flash/embedCast.swf?",{templateRegex:/.*tv\/node\/(.+)/,embedtag:{width:"480",height:"400",flashvars:"id=$1&type=3"}}),new b.fn.oembed.OEmbedProvider("veoh","video",["veoh.com/watch/.+"],"http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1337&permalinkId=$1&player=videodetailsembedded&videoAutoPlay=0&id=anonymous",{templateRegex:/.*watch\/([^\?]+).*/,
21
+ embedtag:{width:"410",height:"341"}}),new b.fn.oembed.OEmbedProvider("gametrailers","video",["gametrailers\\.com/video/.+"],"http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:$2",{templateRegex:/.*com\/video\/([\w\-]+)\/([\w\-]+).*/,embedtag:{width:"512",height:"288"}}),new b.fn.oembed.OEmbedProvider("funnyordie","video",["funnyordie\\.com/videos/.+"],"http://player.ordienetworks.com/flash/fodplayer.swf?",{templateRegex:/.*videos\/([^\/]+)\/([^\/]+)?/,embedtag:{width:512,height:328,
22
+ flashvars:"key=$1"}}),new b.fn.oembed.OEmbedProvider("colledgehumour","video",["collegehumor\\.com/video/.+"],"http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=$1&use_node_id=true&fullscreen=1",{templateRegex:/.*video\/([^\/]+).*/,embedtag:{width:600,height:338}}),new b.fn.oembed.OEmbedProvider("metacafe","video",["metacafe\\.com/watch/.+"],"http://www.metacafe.com/fplayer/$1/$2.swf",{templateRegex:/.*watch\/(\d+)\/(\w+)\/.*/,embedtag:{width:400,height:345}}),new b.fn.oembed.OEmbedProvider("bambuser",
23
+ "video",["bambuser\\.com/channel/.*/broadcast/.*"],"http://static.bambuser.com/r/player.swf?vid=$1",{templateRegex:/.*bambuser\.com\/channel\/.*\/broadcast\/(\w+).*/,embedtag:{width:512,height:339}}),new b.fn.oembed.OEmbedProvider("twitvid","video",["twitvid\\.com/.+"],"http://www.twitvid.com/embed.php?guid=$1&autoplay=0",{templateRegex:/.*twitvid\.com\/(\w+).*/,embedtag:{tag:"iframe",width:480,height:360}}),new b.fn.oembed.OEmbedProvider("aniboom","video",["aniboom\\.com/animation-video/.+"],"http://api.aniboom.com/e/$1",
24
+ {templateRegex:/.*animation-video\/(\d+).*/,embedtag:{width:594,height:334}}),new b.fn.oembed.OEmbedProvider("vzaar","video",["vzaar\\.com/videos/.+","vzaar.tv/.+"],"http://view.vzaar.com/$1/player?",{templateRegex:/.*\/(\d+).*/,embedtag:{tag:"iframe",width:576,height:324}}),new b.fn.oembed.OEmbedProvider("snotr","video",["snotr\\.com/video/.+"],"http://www.snotr.com/embed/$1",{templateRegex:/.*\/(\d+).*/,embedtag:{tag:"iframe",width:400,height:330,nocache:1}}),new b.fn.oembed.OEmbedProvider("youku",
25
+ "video",["v.youku.com/v_show/id_.+"],"http://player.youku.com/player.php/sid/$1/v.swf",{templateRegex:/.*id_(.+)\.html.*/,embedtag:{width:480,height:400,nocache:1}}),new b.fn.oembed.OEmbedProvider("tudou","video",["tudou.com/programs/view/.+/"],"http://www.tudou.com/v/$1/v.swf",{templateRegex:/.*view\/(.+)\//,embedtag:{width:480,height:400,nocache:1}}),new b.fn.oembed.OEmbedProvider("embedr","video",["embedr\\.com/playlist/.+"],"http://embedr.com/swf/slider/$1/425/520/default/false/std?",{templateRegex:/.*playlist\/([^\/]+).*/,
26
+ embedtag:{width:425,height:520}}),new b.fn.oembed.OEmbedProvider("blip","video",["blip\\.tv/.+"],"http://blip.tv/oembed/"),new b.fn.oembed.OEmbedProvider("minoto-video","video",["http://api.minoto-video.com/publishers/.+/videos/.+","http://dashboard.minoto-video.com/main/video/details/.+","http://embed.minoto-video.com/.+"],"http://api.minoto-video.com/services/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("animoto","video",["animoto.com/play/.+"],"http://animoto.com/services/oembed"),
27
+ new b.fn.oembed.OEmbedProvider("hulu","video",["hulu\\.com/watch/.*"],"http://www.hulu.com/api/oembed.json"),new b.fn.oembed.OEmbedProvider("ustream","video",["ustream\\.tv/recorded/.*"],"http://www.ustream.tv/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("videojug","video",["videojug\\.com/(film|payer|interview).*"],"http://www.videojug.com/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("sapo","video",["videos\\.sapo\\.pt/.*"],"http://videos.sapo.pt/oembed",{useYQL:"json"}),
28
+ new b.fn.oembed.OEmbedProvider("vodpod","video",["vodpod.com/watch/.*"],"http://vodpod.com/oembed.js",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("vimeo","video",["www.vimeo.com/groups/.*/videos/.*","www.vimeo.com/.*","vimeo.com/groups/.*/videos/.*","vimeo.com/.*"],"//vimeo.com/api/oembed.json"),new b.fn.oembed.OEmbedProvider("dailymotion","video",["dailymotion\\.com/.+"],"http://www.dailymotion.com/services/oembed"),new b.fn.oembed.OEmbedProvider("5min","video",["www\\.5min\\.com/.+"],"http://api.5min.com/oembed.xml",
29
+ {useYQL:"xml"}),new b.fn.oembed.OEmbedProvider("National Film Board of Canada","video",["nfb\\.ca/film/.+"],"http://www.nfb.ca/remote/services/oembed/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("qik","video",["qik\\.com/\\w+"],"http://qik.com/api/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("revision3","video",["revision3\\.com"],"http://revision3.com/api/oembed/"),new b.fn.oembed.OEmbedProvider("dotsub","video",["dotsub\\.com/view/.+"],"http://dotsub.com/services/oembed",{useYQL:"json"}),
30
+ new b.fn.oembed.OEmbedProvider("clikthrough","video",["clikthrough\\.com/theater/video/\\d+"],"http://clikthrough.com/services/oembed"),new b.fn.oembed.OEmbedProvider("Kinomap","video",["kinomap\\.com/.+"],"http://www.kinomap.com/oembed"),new b.fn.oembed.OEmbedProvider("VHX","video",["vhx.tv/.+"],"http://vhx.tv/services/oembed.json"),new b.fn.oembed.OEmbedProvider("bambuser","video",["bambuser.com/.+"],"http://api.bambuser.com/oembed/iframe.json"),new b.fn.oembed.OEmbedProvider("justin.tv","video",
31
+ ["justin.tv/.+"],"http://api.justin.tv/api/embed/from_url.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("official.fm","rich",["official.fm/.+"],"http://official.fm/services/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("chirbit","rich",["chirb.it/.+"],"http://chirb.it/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("Huffduffer","rich",["huffduffer.com/[-.\\w@]+/\\d+"],"http://huffduffer.com/oembed"),new b.fn.oembed.OEmbedProvider("Spotify","rich",["open.spotify.com/(track|album|user)/"],
32
+ "https://embed.spotify.com/oembed/"),new b.fn.oembed.OEmbedProvider("shoudio","rich",["shoudio.com/.+","shoud.io/.+"],"http://shoudio.com/api/oembed"),new b.fn.oembed.OEmbedProvider("mixcloud","rich",["mixcloud.com/.+"],m()+"www.mixcloud.com/oembed/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("rdio.com","rich",["rd.io/.+","rdio.com"],m()+"www.rdio.com/api/oembed/"),new b.fn.oembed.OEmbedProvider("Soundcloud","rich",["soundcloud.com/.+","snd.sc/.+"],m()+"soundcloud.com/oembed",{format:"js"}),
33
+ new b.fn.oembed.OEmbedProvider("bandcamp","rich",["bandcamp\\.com/album/.+"],null,{yql:{xpath:"//meta[contains(@content, \\'EmbeddedPlayer\\')]",from:"html",datareturn:function(a){return a.meta?'<iframe width="400" height="100" src="'+a.meta.content+'" allowtransparency="true" frameborder="0"></iframe>':!1}}}),new b.fn.oembed.OEmbedProvider("deviantart","photo",["deviantart.com/.+","fav.me/.+","deviantart.com/.+"],"http://backend.deviantart.com/oembed",{format:"jsonp"}),new b.fn.oembed.OEmbedProvider("skitch",
34
+ "photo",["skitch.com/.+"],null,{yql:{xpath:"json",from:"json",url:function(a){return"http://skitch.com/oembed/?format=json&url="+a},datareturn:function(a){return b.fn.oembed.getPhotoCode(a.json.url,a.json)}}}),new b.fn.oembed.OEmbedProvider("mobypicture","photo",["mobypicture.com/user/.+/view/.+","moby.to/.+"],"http://api.mobypicture.com/oEmbed"),new b.fn.oembed.OEmbedProvider("flickr","photo",["flickr\\.com/photos/.+"],"http://flickr.com/services/oembed",{callbackparameter:"jsoncallback"}),new b.fn.oembed.OEmbedProvider("photobucket",
35
+ "photo",["photobucket\\.com/(albums|groups)/.+"],m()+"photobucket.com/oembed/"),new b.fn.oembed.OEmbedProvider("instagram","photo",["instagr\\.?am(\\.com)?/.+"],m()+"api.instagram.com/oembed"),new b.fn.oembed.OEmbedProvider("SmugMug","photo",["smugmug.com/[-.\\w@]+/.+"],"http://api.smugmug.com/services/oembed/"),new b.fn.oembed.OEmbedProvider("dribbble","photo",["dribbble.com/shots/.+"],"http://api.dribbble.com/shots/$1?callback=?",{templateRegex:/.*shots\/([\d]+).*/,templateData:function(a){return a.image_teaser_url?
36
+ '<img src="'+a.image_teaser_url+'"/>':!1}}),new b.fn.oembed.OEmbedProvider("chart.ly","photo",["chart\\.ly/[a-z0-9]{6,8}"],"http://chart.ly/uploads/large_$1.png",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("circuitlab","photo",["circuitlab.com/circuit/.+"],"https://www.circuitlab.com/circuit/$1/screenshot/540x405/",{templateRegex:/.*circuit\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("23hq","photo",["23hq.com/[-.\\w@]+/photo/.+"],
37
+ "http://www.23hq.com/23/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("img.ly","photo",["img\\.ly/.+"],"http://img.ly/show/thumb/$1",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("twitgoo.com","photo",["twitgoo\\.com/.+"],"http://twitgoo.com/show/thumb/$1",{templateRegex:/.*com\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("imgur.com","photo",["imgur\\.com/gallery/.+"],m()+"imgur.com/$1l.jpg",{templateRegex:/.*gallery\/([^\/]+).*/,
38
+ embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("visual.ly","rich",["visual\\.ly/.+"],null,{yql:{xpath:"//a[@id=\\'gc_article_graphic_image\\']/img",from:"htmlstring"}}),new b.fn.oembed.OEmbedProvider("gravtar","photo",["mailto:.+"],null,{templateRegex:/mailto:([^\/]+).*/,template:function(a,b){return'<img src="http://gravatar.com/avatar/'+b.md5()+'.jpg" alt="on Gravtar" class="jqoaImg">'}}),new b.fn.oembed.OEmbedProvider("twitter","rich",["twitter.com/.+"],"https://api.twitter.com/1/statuses/oembed.json"),
39
+ new b.fn.oembed.OEmbedProvider("gmep","rich",["gmep.imeducate.com/.*","gmep.org/.*"],"http://gmep.org/oembed.json"),new b.fn.oembed.OEmbedProvider("urtak","rich",["urtak.com/(u|clr)/.+"],"http://oembed.urtak.com/1/oembed"),new b.fn.oembed.OEmbedProvider("cacoo","rich",["cacoo.com/.+"],"http://cacoo.com/oembed.json"),new b.fn.oembed.OEmbedProvider("dailymile","rich",["dailymile.com/people/.*/entries/.*"],"http://api.dailymile.com/oembed"),new b.fn.oembed.OEmbedProvider("dipity","rich",["dipity.com/timeline/.+"],
40
+ "http://www.dipity.com/oembed/timeline/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("sketchfab","rich",["sketchfab.com/show/.+"],"http://sketchfab.com/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("speakerdeck","rich",["speakerdeck.com/.+"],"http://speakerdeck.com/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("popplet","rich",["popplet.com/app/.*"],"http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",{templateRegex:/.*#\/([^\/]+).*/,embedtag:{width:460,height:460}}),
41
+ new b.fn.oembed.OEmbedProvider("pearltrees","rich",["pearltrees.com/.*"],"http://cdn.pearltrees.com/s/embed/getApp?",{templateRegex:/.*N-f=1_(\d+).*N-p=(\d+).*/,embedtag:{width:460,height:460,flashvars:"lang=en_US&amp;embedId=pt-embed-$1-693&amp;treeId=$1&amp;pearlId=$2&amp;treeTitle=Diagrams%2FVisualization&amp;site=www.pearltrees.com%2FF"}}),new b.fn.oembed.OEmbedProvider("prezi","rich",["prezi.com/.*"],"http://prezi.com/bin/preziloader.swf?",{templateRegex:/.*com\/([^\/]+)\/.*/,embedtag:{width:550,
42
+ height:400,flashvars:"prezi_id=$1&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"}}),new b.fn.oembed.OEmbedProvider("tourwrist","rich",["tourwrist.com/tours/.+"],null,{templateRegex:/.*tours.([\d]+).*/,template:function(a,b){return setTimeout(function(){loadEmbeds&&loadEmbeds()},2E3),"<div id='"+b+"' class='tourwrist-tour-embed direct'></div> <script type='text/javascript' src='http://tourwrist.com/tour_embed.js'><\/script>"}}),new b.fn.oembed.OEmbedProvider("meetup","rich",
43
+ ["meetup\\.(com|ps)/.+"],m()+"api.meetup.com/oembed"),new b.fn.oembed.OEmbedProvider("ebay","rich",["ebay\\.*"],m()+"togo.ebay.com/togo/togo.swf?2008013100",{templateRegex:/.*\/([^\/]+)\/(\d{10,13}).*/,embedtag:{width:355,height:300,flashvars:"base=http://togo.ebay.com/togo/&lang=en-us&mode=normal&itemid=$2&query=$1"}}),new b.fn.oembed.OEmbedProvider("wikipedia","rich",["wikipedia.org/wiki/.+"],"http://$1.wikipedia.org/w/api.php?action=parse&page=$2&format=json&section=0&callback=?",{templateRegex:/.*\/\/([\w]+).*\/wiki\/([^\/]+).*/,
44
+ templateData:function(a){if(!a.parse)return!1;var b=a.parse.text["*"].replace(/href="\/wiki/g,'href="http://en.wikipedia.org/wiki');return'<div id="content"><h3><a class="nav-link" href="http://en.wikipedia.org/wiki/'+a.parse.displaytitle+'">'+a.parse.displaytitle+"</a></h3>"+b+"</div>"}}),new b.fn.oembed.OEmbedProvider("imdb","rich",["imdb.com/title/.+"],"http://www.imdbapi.com/?i=$1&callback=?",{templateRegex:/.*\/title\/([^\/]+).*/,templateData:function(a){return a.Title?'<div id="content"><h3><a class="nav-link" href="http://imdb.com/title/'+
45
+ a.ID+'/">'+a.Title+"</a> ("+a.Year+")</h3><p>Starring: "+a.Actors+'</p><div id="photo-wrap" style="margin: auto;width:600px;height:450px;"><img class="photo" id="photo-display" src="'+a.Poster+'" alt="'+a.Title+'"></div> <div id="view-photo-caption">'+a.Plot+"</div></div>":!1}}),new b.fn.oembed.OEmbedProvider("livejournal","rich",["livejournal.com/"],"http://ljpic.seacrow.com/json/$2$4?jsonp=?",{templateRegex:/(http:\/\/(((?!users).)+)\.livejournal\.com|.*users\.livejournal\.com\/([^\/]+)).*/,templateData:function(a){return a.username?
46
+ '<div><img src="'+a.image+'" align="left" style="margin-right: 1em;" /><span class="oembedall-ljuser"><a href="http://'+a.username+'.livejournal.com/profile"><img src="http://www.livejournal.com/img/userinfo.gif" alt="[info]" width="17" height="17" /></a><a href="http://'+a.username+'.livejournal.com/">'+a.username+"</a></span><br />"+a.name+"</div>":!1}}),new b.fn.oembed.OEmbedProvider("circuitbee","rich",["circuitbee\\.com/circuit/view/.+"],"http://c.circuitbee.com/build/r/schematic-embed.html?id=$1",
44
47
  {templateRegex:/.*circuit\/view\/(\d+).*/,embedtag:{tag:"iframe",width:"500",height:"350"}}),new b.fn.oembed.OEmbedProvider("googlecalendar","rich",["www.google.com/calendar/embed?.+"],"$1",{templateRegex:/(.*)/,embedtag:{tag:"iframe",width:"800",height:"600"}}),new b.fn.oembed.OEmbedProvider("jsfiddle","rich",["jsfiddle.net/[^/]+/?"],"http://jsfiddle.net/$1/embedded/result,js,resources,html,css/?",{templateRegex:/.*net\/([^\/]+).*/,embedtag:{tag:"iframe",width:"100%",height:"300"}}),new b.fn.oembed.OEmbedProvider("jsbin",
45
48
  "rich",["jsbin.com/.+"],"http://jsbin.com/$1/?",{templateRegex:/.*com\/([^\/]+).*/,embedtag:{tag:"iframe",width:"100%",height:"300"}}),new b.fn.oembed.OEmbedProvider("jotform","rich",["form.jotform.co/form/.+"],"$1?",{templateRegex:/(.*)/,embedtag:{tag:"iframe",width:"100%",height:"507"}}),new b.fn.oembed.OEmbedProvider("reelapp","rich",["reelapp\\.com/.+"],"http://www.reelapp.com/$1/embed",{templateRegex:/.*com\/(\S{6}).*/,embedtag:{tag:"iframe",width:"400",height:"338"}}),new b.fn.oembed.OEmbedProvider("linkedin",
46
49
  "rich",["linkedin.com/pub/.+"],"https://www.linkedin.com/cws/member/public_profile?public_profile_url=$1&format=inline&isFramed=true",{templateRegex:/(.*)/,embedtag:{tag:"iframe",width:"368px",height:"auto"}}),new b.fn.oembed.OEmbedProvider("timetoast","rich",["timetoast.com/timelines/[0-9]+"],"http://www.timetoast.com/flash/TimelineViewer.swf?passedTimelines=$1",{templateRegex:/.*timelines\/([0-9]*)/,embedtag:{width:550,height:400,nocache:1}}),new b.fn.oembed.OEmbedProvider("pastebin","rich",["pastebin\\.com/[\\S]{8}"],
@@ -56,13 +59,13 @@ a.owner.user_id+"/"+a.owner.display_name+'">'+a.owner.display_name+'</a><br><spa
56
59
  {templateRegex:/.*\/([^\/]+).*/,embedtag:{tag:"iframe",width:"650",height:396}}),new b.fn.oembed.OEmbedProvider("gigpans","rich",["gigapan\\.org/[-.\\w@]+/\\d+"],"http://gigapan.org/gigapans/$1/options/nosnapshots/iframe/flash.html",{templateRegex:/.*\/(\d+)\/?.*/,embedtag:{tag:"iframe",width:"100%",height:400}}),new b.fn.oembed.OEmbedProvider("scribd","rich",["scribd\\.com/.+"],m()+"www.scribd.com/embeds/$1/content?start_page=1&view_mode=list",{templateRegex:/.*doc\/([^\/]+).*/,embedtag:{tag:"iframe",
57
60
  width:"100%",height:600}}),new b.fn.oembed.OEmbedProvider("kickstarter","rich",["kickstarter\\.com/projects/.+"],"$1/widget/card.html",{templateRegex:/([^\?]+).*/,embedtag:{tag:"iframe",width:"220",height:380}}),new b.fn.oembed.OEmbedProvider("amazon","rich",["amzn.com/B+","amazon.com.*/(B\\S+)($|\\/.*)"],m()+"rcm.amazon.com/e/cm?t=_APIKEY_&o=1&p=8&l=as1&asins=$1&ref=qf_br_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr",{apikey:!0,templateRegex:/.*\/(B[0-9A-Z]+)($|\/.*)/,
58
61
  embedtag:{tag:"iframe",width:"120px",height:"240px"}}),new b.fn.oembed.OEmbedProvider("slideshare","rich",["slideshare.net"],m()+"www.slideshare.net/api/oembed/2",{format:"jsonp"}),new b.fn.oembed.OEmbedProvider("roomsharejp","rich",["roomshare\\.jp/(en/)?post/.*"],"http://roomshare.jp/oembed.json"),new b.fn.oembed.OEmbedProvider("lanyard","rich",["lanyrd.com/\\d+/.+"],null,{yql:{xpath:'(//div[@class="primary"])[1]',from:"htmlstring",datareturn:function(a){return a.result?'<div class="oembedall-lanyard">'+
59
- a.result+"</div>":!1}}}),new b.fn.oembed.OEmbedProvider("asciiartfarts","rich",["asciiartfarts.com/\\d+.html"],null,{yql:{xpath:"//pre/font",from:"htmlstring",datareturn:function(a){return a.result?'<pre style="background-color:000;">'+a.result+"</div>":!1}}}),new b.fn.oembed.OEmbedProvider("opengraph","rich",[".*"],null,{yql:{xpath:"//meta|//title|//link",from:"html",datareturn:function(a){var e,h,c;return(!a["og:title"]&&a.title&&a.description&&(a["og:title"]=a.title),!a["og:title"]&&!a.title)?
60
- !1:(e=b("<p/>"),a["og:video"]?(h=b('<embed src="'+a["og:video"]+'"/>'),h.attr("type",a["og:video:type"]||"application/x-shockwave-flash").css("max-height",k.maxHeight||"auto").css("max-width",k.maxWidth||"auto"),a["og:video:width"]&&h.attr("width",a["og:video:width"]),a["og:video:height"]&&h.attr("height",a["og:video:height"]),e.append(h)):a["og:image"]&&(c=b('<img src="'+a["og:image"]+'">'),c.css("max-height",k.maxHeight||"auto").css("max-width",k.maxWidth||"auto"),a["og:image:width"]&&c.attr("width",
61
- a["og:image:width"]),a["og:image:height"]&&c.attr("height",a["og:image:height"]),e.append(c)),a["og:title"]&&e.append("<b>"+a["og:title"]+"</b><br/>"),a["og:description"]?e.append(a["og:description"]+"<br/>"):a.description&&e.append(a.description+"<br/>"),e)}}})]})(jQuery);
62
- String.prototype.md5=function(){var b=function(b,m){var k=(b&65535)+(m&65535);return(b>>16)+(m>>16)+(k>>16)<<16|k&65535},m=function(e,m,k,a,l,h){e=b(b(m,e),b(a,h));return b(e<<l|e>>>32-l,k)},o=function(b,p,k,a,l,h,c){return m(p&k|~p&a,b,p,l,h,c)},q=function(b,p,k,a,l,h,c){return m(p&a|k&~a,b,p,l,h,c)},n=function(b,p,k,a,l,h,c){return m(k^(p|~a),b,p,l,h,c)};return function(b){for(var m="",k=4*b.length,a=0;a<k;a++)m+="0123456789abcdef".charAt(b[a>>2]>>8*(a%4)+4&15)+"0123456789abcdef".charAt(b[a>>2]>>
63
- 8*(a%4)&15);return m}(function(e){for(var p,k,a,l,h=e.length,c=1732584193,d=-271733879,f=-1732584194,g=271733878,j=0;j<h;j+=16)p=c,k=d,a=f,l=g,c=o(c,d,f,g,e[j+0],7,-680876936),g=o(g,c,d,f,e[j+1],12,-389564586),f=o(f,g,c,d,e[j+2],17,606105819),d=o(d,f,g,c,e[j+3],22,-1044525330),c=o(c,d,f,g,e[j+4],7,-176418897),g=o(g,c,d,f,e[j+5],12,1200080426),f=o(f,g,c,d,e[j+6],17,-1473231341),d=o(d,f,g,c,e[j+7],22,-45705983),c=o(c,d,f,g,e[j+8],7,1770035416),g=o(g,c,d,f,e[j+9],12,-1958414417),f=o(f,g,c,d,e[j+10],
64
- 17,-42063),d=o(d,f,g,c,e[j+11],22,-1990404162),c=o(c,d,f,g,e[j+12],7,1804603682),g=o(g,c,d,f,e[j+13],12,-40341101),f=o(f,g,c,d,e[j+14],17,-1502002290),d=o(d,f,g,c,e[j+15],22,1236535329),c=q(c,d,f,g,e[j+1],5,-165796510),g=q(g,c,d,f,e[j+6],9,-1069501632),f=q(f,g,c,d,e[j+11],14,643717713),d=q(d,f,g,c,e[j+0],20,-373897302),c=q(c,d,f,g,e[j+5],5,-701558691),g=q(g,c,d,f,e[j+10],9,38016083),f=q(f,g,c,d,e[j+15],14,-660478335),d=q(d,f,g,c,e[j+4],20,-405537848),c=q(c,d,f,g,e[j+9],5,568446438),g=q(g,c,d,f,e[j+
65
- 14],9,-1019803690),f=q(f,g,c,d,e[j+3],14,-187363961),d=q(d,f,g,c,e[j+8],20,1163531501),c=q(c,d,f,g,e[j+13],5,-1444681467),g=q(g,c,d,f,e[j+2],9,-51403784),f=q(f,g,c,d,e[j+7],14,1735328473),d=q(d,f,g,c,e[j+12],20,-1926607734),c=m(d^f^g,c,d,e[j+5],4,-378558),g=m(c^d^f,g,c,e[j+8],11,-2022574463),f=m(g^c^d,f,g,e[j+11],16,1839030562),d=m(f^g^c,d,f,e[j+14],23,-35309556),c=m(d^f^g,c,d,e[j+1],4,-1530992060),g=m(c^d^f,g,c,e[j+4],11,1272893353),f=m(g^c^d,f,g,e[j+7],16,-155497632),d=m(f^g^c,d,f,e[j+10],23,-1094730640),
66
- c=m(d^f^g,c,d,e[j+13],4,681279174),g=m(c^d^f,g,c,e[j+0],11,-358537222),f=m(g^c^d,f,g,e[j+3],16,-722521979),d=m(f^g^c,d,f,e[j+6],23,76029189),c=m(d^f^g,c,d,e[j+9],4,-640364487),g=m(c^d^f,g,c,e[j+12],11,-421815835),f=m(g^c^d,f,g,e[j+15],16,530742520),d=m(f^g^c,d,f,e[j+2],23,-995338651),c=n(c,d,f,g,e[j+0],6,-198630844),g=n(g,c,d,f,e[j+7],10,1126891415),f=n(f,g,c,d,e[j+14],15,-1416354905),d=n(d,f,g,c,e[j+5],21,-57434055),c=n(c,d,f,g,e[j+12],6,1700485571),g=n(g,c,d,f,e[j+3],10,-1894986606),f=n(f,g,c,d,
67
- e[j+10],15,-1051523),d=n(d,f,g,c,e[j+1],21,-2054922799),c=n(c,d,f,g,e[j+8],6,1873313359),g=n(g,c,d,f,e[j+15],10,-30611744),f=n(f,g,c,d,e[j+6],15,-1560198380),d=n(d,f,g,c,e[j+13],21,1309151649),c=n(c,d,f,g,e[j+4],6,-145523070),g=n(g,c,d,f,e[j+11],10,-1120210379),f=n(f,g,c,d,e[j+2],15,718787259),d=n(d,f,g,c,e[j+9],21,-343485551),c=b(c,p),d=b(d,k),f=b(f,a),g=b(g,l);return[c,d,f,g]}(function(b){for(var m=(b.length+8>>6)+1,k=[],a=16*m,l=b.length,h=0;h<a;h++)k.push(0);for(a=0;a<l;a++)k[a>>2]|=(b.charCodeAt(a)&
68
- 255)<<8*(a%4);return k[a>>2]|=128<<8*(a%4),k[16*m-2]=8*l,k}(this)))};
62
+ a.result+"</div>":!1}}}),new b.fn.oembed.OEmbedProvider("asciiartfarts","rich",["asciiartfarts.com/\\d+.html"],null,{yql:{xpath:"//pre/font",from:"htmlstring",datareturn:function(a){return a.result?'<pre style="background-color:000;">'+a.result+"</div>":!1}}}),new b.fn.oembed.OEmbedProvider("opengraph","rich",[".*"],null,{yql:{xpath:"//meta|//title|//link",from:"html",datareturn:function(a){var e,h,d;return(!a["og:title"]&&a.title&&a.description&&(a["og:title"]=a.title),!a["og:title"]&&!a.title)?
63
+ !1:(e=b("<p/>"),a["og:video"]?(h=b('<embed src="'+a["og:video"]+'"/>'),h.attr("type",a["og:video:type"]||"application/x-shockwave-flash").css("max-height",j.maxHeight||"auto").css("max-width",j.maxWidth||"auto"),a["og:video:width"]&&h.attr("width",a["og:video:width"]),a["og:video:height"]&&h.attr("height",a["og:video:height"]),e.append(h)):a["og:image"]&&(d=b('<img src="'+a["og:image"]+'">'),d.css("max-height",j.maxHeight||"auto").css("max-width",j.maxWidth||"auto"),a["og:image:width"]&&d.attr("width",
64
+ a["og:image:width"]),a["og:image:height"]&&d.attr("height",a["og:image:height"]),e.append(d)),a["og:title"]&&e.append("<b>"+a["og:title"]+"</b><br/>"),a["og:description"]?e.append(a["og:description"]+"<br/>"):a.description&&e.append(a.description+"<br/>"),e)}}})]})(jQuery);
65
+ String.prototype.md5=function(){var b=function(b,m){var j=(b&65535)+(m&65535);return(b>>16)+(m>>16)+(j>>16)<<16|j&65535},m=function(e,m,j,a,l,h){e=b(b(m,e),b(a,h));return b(e<<l|e>>>32-l,j)},o=function(b,p,j,a,l,h,d){return m(p&j|~p&a,b,p,l,h,d)},q=function(b,p,j,a,l,h,d){return m(p&a|j&~a,b,p,l,h,d)},n=function(b,p,j,a,l,h,d){return m(j^(p|~a),b,p,l,h,d)};return function(b){for(var m="",j=4*b.length,a=0;a<j;a++)m+="0123456789abcdef".charAt(b[a>>2]>>8*(a%4)+4&15)+"0123456789abcdef".charAt(b[a>>2]>>
66
+ 8*(a%4)&15);return m}(function(e){for(var p,j,a,l,h=e.length,d=1732584193,c=-271733879,f=-1732584194,g=271733878,k=0;k<h;k+=16)p=d,j=c,a=f,l=g,d=o(d,c,f,g,e[k+0],7,-680876936),g=o(g,d,c,f,e[k+1],12,-389564586),f=o(f,g,d,c,e[k+2],17,606105819),c=o(c,f,g,d,e[k+3],22,-1044525330),d=o(d,c,f,g,e[k+4],7,-176418897),g=o(g,d,c,f,e[k+5],12,1200080426),f=o(f,g,d,c,e[k+6],17,-1473231341),c=o(c,f,g,d,e[k+7],22,-45705983),d=o(d,c,f,g,e[k+8],7,1770035416),g=o(g,d,c,f,e[k+9],12,-1958414417),f=o(f,g,d,c,e[k+10],
67
+ 17,-42063),c=o(c,f,g,d,e[k+11],22,-1990404162),d=o(d,c,f,g,e[k+12],7,1804603682),g=o(g,d,c,f,e[k+13],12,-40341101),f=o(f,g,d,c,e[k+14],17,-1502002290),c=o(c,f,g,d,e[k+15],22,1236535329),d=q(d,c,f,g,e[k+1],5,-165796510),g=q(g,d,c,f,e[k+6],9,-1069501632),f=q(f,g,d,c,e[k+11],14,643717713),c=q(c,f,g,d,e[k+0],20,-373897302),d=q(d,c,f,g,e[k+5],5,-701558691),g=q(g,d,c,f,e[k+10],9,38016083),f=q(f,g,d,c,e[k+15],14,-660478335),c=q(c,f,g,d,e[k+4],20,-405537848),d=q(d,c,f,g,e[k+9],5,568446438),g=q(g,d,c,f,e[k+
68
+ 14],9,-1019803690),f=q(f,g,d,c,e[k+3],14,-187363961),c=q(c,f,g,d,e[k+8],20,1163531501),d=q(d,c,f,g,e[k+13],5,-1444681467),g=q(g,d,c,f,e[k+2],9,-51403784),f=q(f,g,d,c,e[k+7],14,1735328473),c=q(c,f,g,d,e[k+12],20,-1926607734),d=m(c^f^g,d,c,e[k+5],4,-378558),g=m(d^c^f,g,d,e[k+8],11,-2022574463),f=m(g^d^c,f,g,e[k+11],16,1839030562),c=m(f^g^d,c,f,e[k+14],23,-35309556),d=m(c^f^g,d,c,e[k+1],4,-1530992060),g=m(d^c^f,g,d,e[k+4],11,1272893353),f=m(g^d^c,f,g,e[k+7],16,-155497632),c=m(f^g^d,c,f,e[k+10],23,-1094730640),
69
+ d=m(c^f^g,d,c,e[k+13],4,681279174),g=m(d^c^f,g,d,e[k+0],11,-358537222),f=m(g^d^c,f,g,e[k+3],16,-722521979),c=m(f^g^d,c,f,e[k+6],23,76029189),d=m(c^f^g,d,c,e[k+9],4,-640364487),g=m(d^c^f,g,d,e[k+12],11,-421815835),f=m(g^d^c,f,g,e[k+15],16,530742520),c=m(f^g^d,c,f,e[k+2],23,-995338651),d=n(d,c,f,g,e[k+0],6,-198630844),g=n(g,d,c,f,e[k+7],10,1126891415),f=n(f,g,d,c,e[k+14],15,-1416354905),c=n(c,f,g,d,e[k+5],21,-57434055),d=n(d,c,f,g,e[k+12],6,1700485571),g=n(g,d,c,f,e[k+3],10,-1894986606),f=n(f,g,d,c,
70
+ e[k+10],15,-1051523),c=n(c,f,g,d,e[k+1],21,-2054922799),d=n(d,c,f,g,e[k+8],6,1873313359),g=n(g,d,c,f,e[k+15],10,-30611744),f=n(f,g,d,c,e[k+6],15,-1560198380),c=n(c,f,g,d,e[k+13],21,1309151649),d=n(d,c,f,g,e[k+4],6,-145523070),g=n(g,d,c,f,e[k+11],10,-1120210379),f=n(f,g,d,c,e[k+2],15,718787259),c=n(c,f,g,d,e[k+9],21,-343485551),d=b(d,p),c=b(c,j),f=b(f,a),g=b(g,l);return[d,c,f,g]}(function(b){for(var m=(b.length+8>>6)+1,j=[],a=16*m,l=b.length,h=0;h<a;h++)j.push(0);for(a=0;a<l;a++)j[a>>2]|=(b.charCodeAt(a)&
71
+ 255)<<8*(a%4);return j[a>>2]|=128<<8*(a%4),j[16*m-2]=8*l,j}(this)))};
@@ -0,0 +1,23 @@
1
+ CKEDITOR.plugins.setLang('oembed', 'de', {
2
+ title : "Medien Inhalt einbinden (Bilder, Video, Inhalt)",
3
+ button : "Medien Inhalt von Verschiedenen Seiten einbinden",
4
+ pasteUrl : "Fügen Sie eine Url (Gekürzte Urls werden auch erkannt) ein von einer Seite die Unterstützt wird (z.B.: YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) ...",
5
+ invalidUrl : "Sie müssem eine korrekte URL an!",
6
+ noEmbedCode : "Kein embed Code gefunden, oder Seite wird nicht Unterstützt!",
7
+ url : "URL:",
8
+ width: "Breite:",
9
+ height: "Höhe:",
10
+ widthTitle: "Breite für den eingebundenen Inhalt",
11
+ heightTitle: "Höhe für den eingebundenen Inhalt",
12
+ maxWidth: "Max. Breite:",
13
+ maxHeight: "Max. Höhe:",
14
+ maxWidthTitle: "Maximale Breite für den eingebundenen Inhalt",
15
+ maxHeightTitle: "Maximale Höhe für den eingebundenen Inhalt",
16
+ resizeType: "Größenveränderungsmodus (Nur Video's):",
17
+ noresize: "Keine Veränderung (Standardgröße)",
18
+ responsive: "Responsive",
19
+ custom: "Eigene Größe",
20
+ autoClose: "Dialog nach einbettung automatisch schließen",
21
+ noVimeo: "Der Eigentümber dieses Videos hat Domain einschränkungen für dieses Video gesetzt das Video kann nicht in die Webseite eingebunden werden.",
22
+ Error: "Inhalt konnte nicht gefunden werden, bitte Versuchen sie eine Andere URL."
23
+ });
@@ -0,0 +1,23 @@
1
+ CKEDITOR.plugins.setLang('oembed', 'en', {
2
+ title: "Embed Media Content (Photo, Video, Audio, Rich)",
3
+ button: "Embed Media Content from Various Sites",
4
+ pasteUrl: "Paste an URL (Also shortened URLs are supported) from one of the Supported Sites (e.g. YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) here ...",
5
+ invalidUrl: "Please provide an valid URL!",
6
+ noEmbedCode: "No embed code found, or site is not supported!",
7
+ url: "URL:",
8
+ width: "Width:",
9
+ height: "Height:",
10
+ widthTitle: "Width for the embeded Content",
11
+ heightTitle: "Height for the embeded Content",
12
+ maxWidth: "Max. Width:",
13
+ maxHeight: "Max. Height:",
14
+ maxWidthTitle: "Maximum Width for the embeded Content",
15
+ maxHeightTitle: "Maximum Height for the embeded Content",
16
+ resizeType: "Resize Type (Only Video's):",
17
+ noresize: "No Resize (use default)",
18
+ responsive: "Responsive Resize",
19
+ custom: "Specific Resize",
20
+ autoClose: "Automatically Close Dialog after Code is Embeded",
21
+ noVimeo: "The owner of this video has set domain restrictions and you will not be able to embed it on your website.",
22
+ Error: "Media Content could not been retrieved, please try a different URL."
23
+ });
@@ -0,0 +1,25 @@
1
+ // French Translation by https://github.com/wissim
2
+
3
+ CKEDITOR.plugins.setLang('oembed', 'fr', {
4
+ title : "Intégrer des contenus multimédia externes. (Photo, Video, Audio, ...)",
5
+ button : "Insérer des contenus multimédia provenant de nombreux sites.",
6
+ pasteUrl : "Coller l'URL de partage que vous voulez publier. De nombreux services sont pris en charge tels que : (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.). Vous pouvez aussi utiliser les URLs courtes.",
7
+ invalidUrl : "Merci de fournir une URL valide !",
8
+ noEmbedCode : "Aucun code d'intégration trouvé ou le site n'est pas supporté !",
9
+ url : "URL:",
10
+ width: "Largeur:",
11
+ height: "Hauteur:",
12
+ widthTitle: "Largeur du conteneur.",
13
+ heightTitle: "Hauteur du conteneur.",
14
+ maxWidth: "Max. Largeur:",
15
+ maxHeight: "Max. Hauteur:",
16
+ maxWidthTitle: "Largeur maximale du conteneur.",
17
+ maxHeightTitle: "Hauteur maximale du conteneur.",
18
+ resizeType: "Resize Type (Only Video's):",
19
+ noresize: "No Resize (use default)",
20
+ responsive: "Responsive Resize",
21
+ custom: "Specific Resize",
22
+ autoClose: "Automatically Close Dialog after Code is Embeded",
23
+ noVimeo: "The owner of this video has set domain restrictions and you will not be able to embed it on your website.",
24
+ Error: "Media Content could not been retrieved, please try a different URL."
25
+ });
@@ -0,0 +1,23 @@
1
+ CKEDITOR.plugins.setLang('oembed', 'nl', {
2
+ title : "Integratie van media-inhoud (foto's, video, content)",
3
+ button : "Media-inhoud van externe websites",
4
+ pasteUrl : "Geef een URL van een pagina in dat ondersteund wordt (Bijv.: YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) ...",
5
+ invalidUrl : "Please provide an valid URL!",
6
+ noEmbedCode : "No embed code found, or site is not supported!",
7
+ url : "URL:",
8
+ width: "Breedte:",
9
+ height: "Hoogte:",
10
+ widthTitle: "Width for the embeded Content",
11
+ heightTitle: "Height for the embeded Content",
12
+ maxWidth: "Maximale breedte:",
13
+ maxHeight: "Maximale hoogte:",
14
+ maxWidthTitle: "Maximum Width for the embeded Content",
15
+ maxHeightTitle: "Maximum Height for the embeded Content",
16
+ resizeType: "Resize Type (Only Video's):",
17
+ noresize: "No Resize (use default)",
18
+ responsive: "Responsive Resize",
19
+ custom: "Specific Resize",
20
+ autoClose: "Automatically Close Dialog after Code is Embeded",
21
+ noVimeo: "The owner of this video has set domain restrictions and you will not be able to embed it on your website.",
22
+ Error: "Media Content could not been retrieved, please try a different URL."
23
+ });
@@ -0,0 +1,23 @@
1
+ CKEDITOR.plugins.setLang('oembed', 'pl', {
2
+ title: "Osadzanie multimediów (zdjęć, filmów, dźwięku, bogatych treści)",
3
+ button: "Osadzanie multimediów z witryn zewnętrznych",
4
+ pasteUrl: "Wklej tutaj adres URL (adresy skrócone są również obsługiwane) z jednej z obsługiwanych stron (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, itp.).",
5
+ invalidUrl: "Proszę wprowadzić prawidłowy adres URL!",
6
+ noEmbedCode: "Odnośnik nieprawidłowy lub nieobsługiwany!",
7
+ url: "URL:",
8
+ width: "szerokość:",
9
+ height: "wysokość:",
10
+ widthTitle: "Szerokość osadzanej zawartości",
11
+ heightTitle: "Wysokość osadzanej zawartości",
12
+ maxWidth: "Maks. szerokość:",
13
+ maxHeight: "Maks. wysokość:",
14
+ maxWidthTitle: "Maksymalna szerokość osadzanej zawartości",
15
+ maxHeightTitle: "Maksymalna wysokość osadzanej zawartości",
16
+ resizeType: "Typ zmiany rozmiaru (tylko nagrania wideo):",
17
+ noresize: "Bez zmiany rozmiaru (domyślne)",
18
+ responsive: "Responsywna zmiana rozmiaru",
19
+ custom: "Narzucona zmiana rozmiaru",
20
+ autoClose: "Zamykaj okno dialogowe automatycznie po osadzeniu kodu",
21
+ noVimeo: "Właściciel nagrania wideo nałożył ograniczenia domenowe, nagrania nie można osadzić w witrynie.",
22
+ Error: "Nie można uzyskać zawartości multimedialnej, proszę spróbować inny adres URL."
23
+ });
@@ -0,0 +1,23 @@
1
+ CKEDITOR.plugins.setLang('oembed', 'ru', {
2
+ title: "Внедрить медиа-контент (видео, аудио, фото и т.д.)",
3
+ button: "Внедрить медиа-контент с различных сайтов",
4
+ pasteUrl: "Вставьте ссылку на страницу с медиа-контентом (например YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, и т.д.)",
5
+ invalidUrl: "Вы ввели некорректный URL",
6
+ noEmbedCode: "Не обнаружен код для вставки. Возможно, вы ввели ссылку с неподдерживаемого сайта.",
7
+ url: "URL:",
8
+ width: "Ширина:",
9
+ height: "Высота:",
10
+ widthTitle: "Ширина внедряемого медиа-контента",
11
+ heightTitle: "Высота внедряемого медиа-контента",
12
+ maxWidth: "Макс. ширина:",
13
+ maxHeight: "Макс. высота:",
14
+ maxWidthTitle: "Максимальная ширина внедряемого медиа-контента",
15
+ maxHeightTitle: "Максимальная высота внедряемого медиа-контента",
16
+ resizeType: "Изменение размера (только для видео):",
17
+ noresize: "Без изменения (стандартный размер)",
18
+ responsive: "Задать максимальный размер",
19
+ custom: "Задать конкретный размер",
20
+ autoClose: "Автоматически закрыть диалог после внедрения кода",
21
+ noVimeo: "Владелец этого видео установил ограничения на домен, и вы не можете его встроить на ваш сайт.",
22
+ Error: "Невозможно получить медиа-контент. Попробуйте другой URL."
23
+ });
@@ -0,0 +1,971 @@
1
+ /*!
2
+ * jquery oembed plugin
3
+ *
4
+ * Copyright (c) 2009 Richard Chamorro
5
+ * Licensed under the MIT license
6
+ *
7
+ * Orignal Author: Richard Chamorro
8
+ * Forked by Andrew Mee to Provide a slightly diffent kind of embedding
9
+ * experience
10
+ */
11
+ (function($) {
12
+ $.fn.oembed = function(url, options, embedAction) {
13
+
14
+ settings = $.extend(true, $.fn.oembed.defaults, options);
15
+ var shortURLList = ["0rz.tw","1link.in","1url.com","2.gp","2big.at","2tu.us","3.ly","307.to","4ms.me","4sq.com","4url.cc","6url.com","7.ly","a.gg","a.nf","aa.cx","abcurl.net",
16
+ "ad.vu","adf.ly","adjix.com","afx.cc","all.fuseurl.com","alturl.com","amzn.to","ar.gy","arst.ch","atu.ca","azc.cc","b23.ru","b2l.me","bacn.me","bcool.bz","binged.it",
17
+ "bit.ly","bizj.us","bloat.me","bravo.ly","bsa.ly","budurl.com","canurl.com","chilp.it","chzb.gr","cl.lk", "cl.ly", "clck.ru", "cli.gs", "cliccami.info",
18
+ "clickthru.ca", "clop.in", "conta.cc", "cort.as", "cot.ag", "crks.me", "ctvr.us", "cutt.us", "dai.ly", "decenturl.com", "dfl8.me", "digbig.com",
19
+ "http:\/\/digg\.com\/[^\/]+$", "disq.us", "dld.bz", "dlvr.it", "do.my", "doiop.com", "dopen.us", "easyuri.com", "easyurl.net", "eepurl.com", "eweri.com",
20
+ "fa.by", "fav.me", "fb.me", "fbshare.me", "ff.im", "fff.to", "fire.to", "firsturl.de", "firsturl.net", "flic.kr", "flq.us", "fly2.ws", "fon.gs", "freak.to",
21
+ "fuseurl.com", "fuzzy.to", "fwd4.me", "fwib.net", "g.ro.lt", "gizmo.do", "gl.am", "go.9nl.com", "go.ign.com", "go.usa.gov", "goo.gl", "goshrink.com", "gurl.es",
22
+ "hex.io", "hiderefer.com", "hmm.ph", "href.in", "hsblinks.com", "htxt.it", "huff.to", "hulu.com", "hurl.me", "hurl.ws", "icanhaz.com", "idek.net", "ilix.in", "is.gd",
23
+ "its.my", "ix.lt", "j.mp", "jijr.com", "kl.am", "klck.me", "korta.nu", "krunchd.com", "l9k.net", "lat.ms", "liip.to", "liltext.com", "linkbee.com", "linkbun.ch",
24
+ "liurl.cn", "ln-s.net", "ln-s.ru", "lnk.gd", "lnk.ms", "lnkd.in", "lnkurl.com", "lru.jp", "lt.tl", "lurl.no", "macte.ch", "mash.to", "merky.de", "migre.me", "miniurl.com",
25
+ "minurl.fr", "mke.me", "moby.to", "moourl.com", "mrte.ch", "myloc.me", "myurl.in", "n.pr", "nbc.co", "nblo.gs", "nn.nf", "not.my", "notlong.com", "nsfw.in",
26
+ "nutshellurl.com", "nxy.in", "nyti.ms", "o-x.fr", "oc1.us", "om.ly", "omf.gd", "omoikane.net", "on.cnn.com", "on.mktw.net", "onforb.es", "orz.se", "ow.ly", "ping.fm",
27
+ "pli.gs", "pnt.me", "politi.co", "post.ly", "pp.gg", "profile.to", "ptiturl.com", "pub.vitrue.com", "qlnk.net", "qte.me", "qu.tc", "qy.fi", "r.ebay.com", "r.im", "rb6.me", "read.bi",
28
+ "readthis.ca", "reallytinyurl.com", "redir.ec", "redirects.ca", "redirx.com", "retwt.me", "ri.ms", "rickroll.it", "riz.gd", "rt.nu", "ru.ly", "rubyurl.com", "rurl.org",
29
+ "rww.tw", "s4c.in", "s7y.us", "safe.mn", "sameurl.com", "sdut.us", "shar.es", "shink.de", "shorl.com", "short.ie", "short.to", "shortlinks.co.uk", "shorturl.com",
30
+ "shout.to", "show.my", "shrinkify.com", "shrinkr.com", "shrt.fr", "shrt.st", "shrten.com", "shrunkin.com", "simurl.com", "slate.me", "smallr.com", "smsh.me", "smurl.name",
31
+ "sn.im", "snipr.com", "snipurl.com", "snurl.com", "sp2.ro", "spedr.com", "srnk.net", "srs.li", "starturl.com","stks.co", "su.pr", "surl.co.uk", "surl.hu", "t.cn", "t.co", "t.lh.com",
32
+ "ta.gd", "tbd.ly", "tcrn.ch", "tgr.me", "tgr.ph", "tighturl.com", "tiniuri.com", "tiny.cc", "tiny.ly", "tiny.pl", "tinylink.in", "tinyuri.ca", "tinyurl.com", "tk.", "tl.gd",
33
+ "tmi.me", "tnij.org", "tnw.to", "tny.com", "to.ly", "togoto.us", "totc.us", "toysr.us", "tpm.ly", "tr.im", "tra.kz", "trunc.it", "twhub.com", "twirl.at",
34
+ "twitclicks.com", "twitterurl.net", "twitterurl.org", "twiturl.de", "twurl.cc", "twurl.nl", "u.mavrev.com", "u.nu", "u76.org", "ub0.cc", "ulu.lu", "updating.me", "ur1.ca",
35
+ "url.az", "url.co.uk", "url.ie", "url360.me", "url4.eu", "urlborg.com", "urlbrief.com", "urlcover.com", "urlcut.com", "urlenco.de", "urli.nl", "urls.im",
36
+ "urlshorteningservicefortwitter.com", "urlx.ie", "urlzen.com", "usat.ly", "use.my", "vb.ly", "vevo.ly", "vgn.am", "vl.am", "vm.lc", "w55.de", "wapo.st", "wapurl.co.uk", "wipi.es",
37
+ "wp.me", "x.vu", "xr.com", "xrl.in", "xrl.us", "xurl.es", "xurl.jp", "y.ahoo.it", "yatuc.com", "ye.pe", "yep.it", "yfrog.com", "yhoo.it", "yiyd.com", "youtu.be", "yuarel.com",
38
+ "z0p.de", "zi.ma", "zi.mu", "zipmyurl.com", "zud.me", "zurl.ws", "zz.gd", "zzang.kr", "›.ws", "✩.ws", "✿.ws", "❥.ws", "➔.ws", "➞.ws", "➡.ws", "➨.ws", "➯.ws", "➹.ws", "➽.ws"];
39
+
40
+ if ($('#jqoembeddata').length === 0) $('<span id="jqoembeddata"></span>').appendTo('body');
41
+
42
+ return this.each(function() {
43
+
44
+ var container = $(this),
45
+ resourceURL = (url && (!url.indexOf('http://') || !url.indexOf('https://'))) ? url : container.attr("href"),
46
+ provider;
47
+
48
+ if (embedAction) {
49
+ settings.onEmbed = embedAction;
50
+ }
51
+ else if (!settings.onEmbed){
52
+ settings.onEmbed = function(oembedData) {
53
+ $.fn.oembed.insertCode(this, settings.embedMethod, oembedData);
54
+ };
55
+ }
56
+
57
+ if (resourceURL !== null && resourceURL !== undefined) {
58
+ //Check if shorten URL
59
+ for (var j = 0, l =shortURLList.length; j < l; j++) {
60
+ var regExp = new RegExp('://'+shortURLList[j]+'/', "i");
61
+ if (resourceURL.match(regExp) !== null) {
62
+ //AJAX to http://api.longurl.org/v2/expand?url=http://bit.ly/JATvIs&format=json&callback=hhh
63
+ var ajaxopts = $.extend({
64
+ url: "http://api.longurl.org/v2/expand",
65
+ dataType: 'jsonp',
66
+ data: {
67
+ url: resourceURL,
68
+ format: "json"
69
+ //callback: "?"
70
+ },
71
+ success: function(data) {
72
+ //this = $.fn.oembed;
73
+ resourceURL = data['long-url'];
74
+ provider = $.fn.oembed.getOEmbedProvider(data['long-url']);
75
+
76
+ if (provider !== null) {
77
+ provider.params = getNormalizedParams(settings[provider.name]) || {};
78
+ provider.maxWidth = settings.maxWidth;
79
+ provider.maxHeight = settings.maxHeight;
80
+ embedCode(container, resourceURL, provider);
81
+ } else {
82
+ settings.onProviderNotFound.call(container, resourceURL);
83
+ }
84
+ }
85
+ }, settings.ajaxOptions || {});
86
+
87
+ $.ajax(ajaxopts);
88
+
89
+ return container;
90
+ }
91
+ }
92
+ provider = $.fn.oembed.getOEmbedProvider(resourceURL);
93
+
94
+ if (provider !== null) {
95
+ provider.params = getNormalizedParams(settings[provider.name]) || {};
96
+ provider.maxWidth = settings.maxWidth;
97
+ provider.maxHeight = settings.maxHeight;
98
+ embedCode(container, resourceURL, provider);
99
+ } else {
100
+ settings.onProviderNotFound.call(container, resourceURL);
101
+ }
102
+ }
103
+
104
+ return container;
105
+ });
106
+
107
+
108
+ };
109
+
110
+ var settings;
111
+
112
+ // Plugin defaults
113
+ $.fn.oembed.defaults = {
114
+ maxWidth: null,
115
+ maxHeight: null,
116
+ useResponsiveResize: false,
117
+ includeHandle: true,
118
+ embedMethod: 'auto',
119
+ // "auto", "append", "fill"
120
+ onProviderNotFound: function() {},
121
+ beforeEmbed: function() {},
122
+ afterEmbed: function() {},
123
+ onEmbed: false,
124
+ onError: function() {},
125
+ ajaxOptions: { timeout: 2000 }
126
+ };
127
+
128
+ /*
129
+ * check protocol
130
+ * @return The protocol correct.
131
+ */
132
+ function checkProtocol() {
133
+ var protocol = window.location.protocol;
134
+
135
+ // fix local
136
+ if (protocol === "file:") {
137
+ return "http://";
138
+ } else {
139
+ protocol += "//";
140
+ }
141
+
142
+ return protocol;
143
+ }
144
+
145
+ /* Private functions */
146
+ function rand(length,current){ //Found on http://stackoverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-javascript
147
+ current = current ? current : '';
148
+ return length ? rand( --length , "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt( Math.floor( Math.random() * 60 ) ) + current ) : current;
149
+ }
150
+
151
+ function getRequestUrl(provider, externalUrl) {
152
+ var url = provider.apiendpoint,
153
+ qs = "",
154
+ i;
155
+ url += (url.indexOf("?") <= 0) ? "?" : "&";
156
+ url = url.replace('#','%23');
157
+
158
+ if (provider.maxWidth !== null && (typeof provider.params.maxwidth === 'undefined' || provider.params.maxwidth === null)) {
159
+ provider.params.maxwidth = provider.maxWidth;
160
+ }
161
+
162
+ if (provider.maxHeight !== null && (typeof provider.params.maxheight === 'undefined' || provider.params.maxheight === null)) {
163
+ provider.params.maxheight = provider.maxHeight;
164
+ }
165
+
166
+ for (i in provider.params) {
167
+ // We don't want them to jack everything up by changing the callback parameter
168
+ if (i == provider.callbackparameter) continue;
169
+
170
+ // allows the options to be set to null, don't send null values to the server as parameters
171
+ if (provider.params[i] !== null) qs += "&" + escape(i) + "=" + provider.params[i];
172
+ }
173
+
174
+ url += "format=" + provider.format + "&url=" + escape(externalUrl) + qs;
175
+ if(provider.dataType!='json') url += "&" + provider.callbackparameter + "=?";
176
+
177
+ return url;
178
+ }
179
+ function success(oembedData, externalUrl, container) {
180
+ $('#jqoembeddata').data(externalUrl, oembedData.code);
181
+ settings.beforeEmbed.call(container, oembedData);
182
+ settings.onEmbed.call(container, oembedData);
183
+ settings.afterEmbed.call(container, oembedData);
184
+ }
185
+
186
+ function embedCode(container, externalUrl, embedProvider) {
187
+ if ($('#jqoembeddata').data(externalUrl)!=undefined && embedProvider.embedtag.tag!='iframe'){
188
+ var oembedData = {code: $('#jqoembeddata').data(externalUrl)};
189
+ success(oembedData, externalUrl, container);
190
+ }else if (embedProvider.yql) {
191
+ var from = embedProvider.yql.from || 'htmlstring';
192
+ var url = embedProvider.yql.url ? embedProvider.yql.url(externalUrl) : externalUrl;
193
+ var query = 'SELECT * FROM '
194
+ + from
195
+ + ' WHERE url="' + (url) + '"'
196
+ + " and " + (/html/.test(from) ? 'xpath' : 'itemPath') + "='" + (embedProvider.yql.xpath || '/')+"'" ;
197
+ if(from=='html') query += " and compat='html5'";
198
+ var ajaxopts = $.extend({
199
+ url: checkProtocol() + "query.yahooapis.com/v1/public/yql",
200
+ dataType: 'jsonp',
201
+ data: {
202
+ q: query,
203
+ format: "json",
204
+ env: 'store://datatables.org/alltableswithkeys',
205
+ callback: "?"
206
+ },
207
+ success: function(data) {
208
+ var result;
209
+ if(embedProvider.yql.xpath && embedProvider.yql.xpath=='//meta|//title|//link'){
210
+ var meta={};
211
+ if (data.query.results == null) {
212
+ data.query.results = {"meta": []};
213
+ }
214
+ for(var i=0, l=data.query.results.meta.length; i<l; i++){
215
+ var name = data.query.results.meta[i].name||data.query.results.meta[i].property||null;
216
+ if(name==null)continue;
217
+ meta[name.toLowerCase()]=data.query.results.meta[i].content;
218
+ }
219
+ if (!meta.hasOwnProperty("title") || !meta.hasOwnProperty("og:title") ) {
220
+ if ( data.query.results.title != null ) {
221
+ meta.title = data.query.results.title;
222
+ }
223
+ }
224
+ if (!meta.hasOwnProperty("og:image") && data.query.results.hasOwnProperty("link")) {
225
+ for ( var i=0, l=data.query.results.link.length; i<l; i++){
226
+ if ( data.query.results.link[i].hasOwnProperty("rel") ) {
227
+ if (data.query.results.link[i].rel == "apple-touch-icon") {
228
+ if ( data.query.results.link[i].href.charAt(0) == "/" ) {
229
+ meta["og:image"] = url.match(/^(([a-z]+:)?(\/\/)?[^\/]+\/).*$/)[1] + data.query.results.link[i].href;
230
+ } else {
231
+ meta["og:image"] = data.query.results.link[i].href;
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
237
+ result = embedProvider.yql.datareturn(meta);
238
+ }else{
239
+ result = embedProvider.yql.datareturn ? embedProvider.yql.datareturn(data.query.results) : data.query.results.result;
240
+ }
241
+ if(result===false)return;
242
+ var oembedData = $.extend({}, result);
243
+ oembedData.code = result;
244
+ success(oembedData, externalUrl, container);
245
+ },
246
+ error: function () {
247
+ settings.onError.call(container, externalUrl, embedProvider);
248
+ }
249
+ }, settings.ajaxOptions || {});
250
+
251
+ $.ajax(ajaxopts);
252
+ }else if (embedProvider.templateRegex) {
253
+ if(embedProvider.embedtag.tag!==''){
254
+ var flashvars = embedProvider.embedtag.flashvars || '';
255
+ var tag = embedProvider.embedtag.tag || 'embed';
256
+ var width = embedProvider.embedtag.width || 'auto';
257
+ var nocache = embedProvider.embedtag.nocache || 0;
258
+ var height = embedProvider.embedtag.height || 'auto';
259
+ var src =externalUrl.replace(embedProvider.templateRegex,embedProvider.apiendpoint);
260
+ if(!embedProvider.nocache) src += '&jqoemcache='+rand(5);
261
+ if (embedProvider.apikey) src = src.replace('_APIKEY_', settings.apikeys[embedProvider.name]);
262
+
263
+ if (settings.maxHeight && settings.maxWidth) {
264
+
265
+ if (settings.useResponsiveResize) {
266
+
267
+ var ratio = 0; // Used for aspect ratio
268
+
269
+ var newWidth = width;
270
+ var newHeight = height;
271
+
272
+ // Check if the current width is larger than the max
273
+ if (width > settings.maxWidth) {
274
+ ratio = settings.maxWidth / width;
275
+
276
+ newWidth = settings.maxWidth;
277
+ newHeight = height * ratio;
278
+
279
+ // reset
280
+ height = height * ratio;
281
+ width = width * ratio;
282
+ }
283
+
284
+ // Check if current height is larger than max
285
+ if (height > settings.maxHeight) {
286
+ ratio = settings.maxHeight / height;
287
+
288
+ newHeight = settings.maxHeight;
289
+ newWidth = width * ratio;
290
+
291
+ // reset
292
+ width = width * ratio;
293
+ }
294
+
295
+ height = newHeight;
296
+ width = newWidth;
297
+ } else {
298
+ height = settings.maxHeight;
299
+ width = settings.maxWidth;
300
+ }
301
+
302
+ }
303
+ var code = $('<'+tag+'/>')
304
+ .attr('src',src)
305
+ .attr('width',width)
306
+ .attr('height',height)
307
+ .attr('allowfullscreen',embedProvider.embedtag.allowfullscreen || 'true')
308
+ .attr('allowscriptaccess',embedProvider.embedtag.allowfullscreen || 'always')
309
+ .css('max-height', settings.maxHeight || 'auto' )
310
+ .css('max-width', settings.maxWidth || 'auto' );
311
+ if(tag=='embed')
312
+ code
313
+ .attr('type',embedProvider.embedtag.type || "application/x-shockwave-flash")
314
+ .attr('flashvars',externalUrl.replace(embedProvider.templateRegex,flashvars));
315
+ if(tag=='iframe')
316
+ code
317
+ .attr('scrolling',embedProvider.embedtag.scrolling || "no")
318
+ .attr('frameborder',embedProvider.embedtag.frameborder || "0");
319
+
320
+ var oembedData = {code: code};
321
+ success(oembedData, externalUrl,container);
322
+ }else if (embedProvider.apiendpoint) {
323
+ //Add APIkey if true
324
+ if (embedProvider.apikey) embedProvider.apiendpoint = embedProvider.apiendpoint.replace('_APIKEY_', settings.apikeys[embedProvider.name]);
325
+ ajaxopts = $.extend({
326
+ url: externalUrl.replace(embedProvider.templateRegex, embedProvider.apiendpoint),
327
+ dataType: 'jsonp',
328
+ success: function(data) {
329
+ var oembedData = $.extend({}, data);
330
+ oembedData.code = embedProvider.templateData(data);
331
+ success(oembedData, externalUrl, container);
332
+ },
333
+ error: function () {
334
+ settings.onError.call(container, externalUrl, embedProvider);
335
+ }
336
+ }, settings.ajaxOptions || {});
337
+
338
+ $.ajax( ajaxopts );
339
+ }else {
340
+ var oembedData = {code: externalUrl.replace(embedProvider.templateRegex,embedProvider.template)};
341
+ success(oembedData, externalUrl,container);
342
+ }
343
+ } else {
344
+
345
+ var requestUrl = getRequestUrl(embedProvider, externalUrl),
346
+ ajaxopts = $.extend({
347
+ url: requestUrl,
348
+ dataType: embedProvider.dataType || 'jsonp',
349
+ success: function(data) {
350
+ var oembedData = $.extend({}, data);
351
+ switch (oembedData.type) {
352
+ case "file": //Deviant Art has this
353
+ case "photo":
354
+ oembedData.code = $.fn.oembed.getPhotoCode(externalUrl, oembedData);
355
+ break;
356
+ case "video":
357
+ case "rich":
358
+ oembedData.code = $.fn.oembed.getRichCode(externalUrl, oembedData);
359
+ break;
360
+ default:
361
+ oembedData.code = $.fn.oembed.getGenericCode(externalUrl, oembedData);
362
+ break;
363
+ }
364
+ success(oembedData, externalUrl, container);
365
+ },
366
+ error: function () {
367
+ settings.onError.call(container, externalUrl, embedProvider);
368
+ }
369
+ }, settings.ajaxOptions || {});
370
+
371
+ $.ajax(ajaxopts);
372
+ }
373
+ };
374
+
375
+ function getNormalizedParams(params) {
376
+ if (params === null) return null;
377
+ var key, normalizedParams = {};
378
+ for (key in params) {
379
+ if (key !== null) normalizedParams[key.toLowerCase()] = params[key];
380
+ }
381
+ return normalizedParams;
382
+ }
383
+
384
+ /* Public functions */
385
+ $.fn.oembed.insertCode = function(container, embedMethod, oembedData) {
386
+ if (oembedData === null) return;
387
+ if(embedMethod=='auto' && container.attr("href") !== null) embedMethod='append';
388
+ else if(embedMethod=='auto') embedMethod='replace';
389
+ switch (embedMethod) {
390
+ case "replace":
391
+ container.replaceWith(oembedData.code);
392
+ break;
393
+ case "fill":
394
+ container.html(oembedData.code);
395
+ break;
396
+ case "append":
397
+ container.wrap('<div class="oembedall-container"></div>');
398
+ var oembedContainer = container.parent();
399
+ if (settings.includeHandle) {
400
+ $('<span class="oembedall-closehide">&darr;</span>').insertBefore(container).click(function() {
401
+ var encodedString = encodeURIComponent($(this).text());
402
+ $(this).html((encodedString == '%E2%86%91') ? '&darr;' : '&uarr;');
403
+ $(this).parent().children().last().toggle();
404
+ });
405
+ }
406
+ oembedContainer.append('<br/>');
407
+ try {
408
+ oembedData.code.clone().appendTo(oembedContainer);
409
+ } catch(e) {
410
+ oembedContainer.append(oembedData.code);
411
+ }
412
+ /* Make videos semi-responsive
413
+ * If parent div width less than embeded iframe video then iframe gets shrunk to fit smaller width
414
+ * If parent div width greater thans embed iframe use the max widht
415
+ * - works on youtubes and vimeo
416
+ */
417
+ /*if (settings.maxWidth) {
418
+ var post_width = oembedContainer.parent().width();
419
+ if (post_width < settings.maxWidth && settings.useResponsiveResize)
420
+ {
421
+ var iframe_width_orig = $('iframe',oembedContainer).width();
422
+ var iframe_height_orig = $('iframe',oembedContainer).height();
423
+ var ratio = iframe_width_orig / post_width;
424
+ $('iframe',oembedContainer).width(iframe_width_orig / ratio);
425
+ $('iframe',oembedContainer).height(iframe_height_orig / ratio);
426
+ } else {
427
+ if(settings.maxWidth){
428
+ $('iframe',oembedContainer).width(settings.maxWidth);
429
+ }
430
+ if(settings.maxHeight){
431
+ $('iframe',oembedContainer).height(settings.maxHeight);
432
+ }
433
+ }
434
+ }*/
435
+ break;
436
+ }
437
+ };
438
+
439
+ $.fn.oembed.getPhotoCode = function (url, oembedData) {
440
+ var code, alt = oembedData.title ? oembedData.title : '';
441
+ alt += oembedData.author_name ? ' - ' + oembedData.author_name : '';
442
+ alt += oembedData.provider_name ? ' - ' + oembedData.provider_name : '';
443
+ if (oembedData.url) {
444
+ code = '<div><a href="' + url + '" target=\'_blank\'><img src="' + oembedData.url + '" alt="' + alt + '"/></a></div>';
445
+ } else if (oembedData.thumbnail_url) {
446
+ var newURL = oembedData.thumbnail_url.replace('_s', '_b');
447
+ code = '<div><a href="' + url + '" target=\'_blank\'><img src="' + newURL + '" alt="' + alt + '"/></a></div>';
448
+ } else {
449
+ code = '<div>Error loading this picture</div>';
450
+ }
451
+ if (oembedData.html) code += "<div>" + oembedData.html + "</div>";
452
+ return code;
453
+ };
454
+
455
+ $.fn.oembed.getRichCode = function(url, oembedData) {
456
+ var code = oembedData.html;
457
+ return code;
458
+ };
459
+
460
+ $.fn.oembed.getGenericCode = function(url, oembedData) {
461
+ var title = (oembedData.title !== null) ? oembedData.title : url,
462
+ code = '<a href="' + url + '">' + title + '</a>';
463
+ if (oembedData.html) code += "<div>" + oembedData.html + "</div>";
464
+ return code;
465
+ };
466
+
467
+ $.fn.oembed.getOEmbedProvider = function(url) {
468
+ for (var i = 0; i < $.fn.oembed.providers.length; i++) {
469
+ for (var j = 0, l =$.fn.oembed.providers[i].urlschemes.length; j < l; j++) {
470
+ var regExp = new RegExp($.fn.oembed.providers[i].urlschemes[j], "i");
471
+ if (url.match(regExp) !== null) return $.fn.oembed.providers[i];
472
+ }
473
+ }
474
+ return null;
475
+ };
476
+
477
+ $.fn.oembed.OEmbedProvider = function(name, type, urlschemesarray, apiendpoint, extraSettings) {
478
+ this.name = name;
479
+ this.type = type; // "photo", "video", "link", "rich", null
480
+ this.urlschemes = urlschemesarray;
481
+ this.apiendpoint = apiendpoint;
482
+ this.maxWidth = 500;
483
+ this.maxHeight = 400;
484
+ extraSettings =extraSettings ||{};
485
+
486
+ if(extraSettings.useYQL){
487
+
488
+ if(extraSettings.useYQL=='xml'){
489
+ extraSettings.yql = {xpath:"//oembed/html", from:'xml'
490
+ , apiendpoint: this.apiendpoint
491
+ , url: function(externalurl){return this.apiendpoint+'?format=xml&url='+externalurl; }
492
+ , datareturn:function(results){return results.html.replace(/.*\[CDATA\[(.*)\]\]>$/,'$1') || ''; }
493
+ };
494
+ }else{
495
+ extraSettings.yql = {from:'json'
496
+ , apiendpoint: this.apiendpoint
497
+ , url: function(externalurl){return this.apiendpoint+'?format=json&url='+externalurl; }
498
+ , datareturn: function (results) {
499
+
500
+ if (results.json.type != 'video' && (results.json.url || results.json.thumbnail_url)) {
501
+ return '<img src="' + (results.json.url || results.json.thumbnail_url) + '" />';
502
+ } else if (results.json.html.indexOf("iframe")) {
503
+
504
+ // Quick fix to handle attribute less html5 properties in ckeditor
505
+ if (results.json.html.indexOf("allowfullscreen>")) {
506
+ results.json.html = results.json.html.replace('allowfullscreen>', 'allowfullscreen="false">');
507
+ }
508
+
509
+ var html = $.parseHTML(results.json.html);
510
+
511
+ var width = html[0].width;
512
+ var height = html[0].height;
513
+
514
+ if (settings.maxHeight && settings.maxWidth) {
515
+
516
+ if (settings.useResponsiveResize) {
517
+
518
+ var ratio;
519
+
520
+ var newWidth = width;
521
+ var newHeight = height;
522
+
523
+ // Check if the current width is larger than the max
524
+ if (width > settings.maxWidth) {
525
+ ratio = settings.maxWidth / width;
526
+
527
+ newWidth = settings.maxWidth;
528
+ newHeight = height * ratio;
529
+
530
+ // reset
531
+ height = height * ratio;
532
+ width = width * ratio;
533
+ }
534
+
535
+ // Check if current height is larger than max
536
+ if (height > settings.maxHeight) {
537
+ ratio = settings.maxHeight / height;
538
+
539
+ newHeight = settings.maxHeight;
540
+ newWidth = width * ratio;
541
+ }
542
+
543
+ height = newHeight;
544
+ width = newWidth;
545
+ } else {
546
+ height = settings.maxHeight;
547
+ width = settings.maxWidth;
548
+ }
549
+
550
+ }
551
+
552
+ html[0].width = width;
553
+ html[0].height = height;
554
+
555
+ return html[0].outerHTML;
556
+ }
557
+ return results.json.html || '';
558
+ }
559
+ };
560
+ }
561
+ this.apiendpoint = null;
562
+ }
563
+
564
+
565
+ for (var property in extraSettings) {
566
+ this[property] = extraSettings[property];
567
+ }
568
+
569
+ this.format = this.format || 'json';
570
+ this.callbackparameter = this.callbackparameter || "callback";
571
+ this.embedtag = this.embedtag || {tag:""};
572
+
573
+
574
+ };
575
+
576
+ /*
577
+ * Function to update existing providers
578
+ *
579
+ * @param {String} name The name of the provider
580
+ * @param {String} type The type of the provider can be "file", "photo", "video", "rich"
581
+ * @param {String} urlshemesarray Array of url of the provider
582
+ * @param {String} apiendpoint The endpoint of the provider
583
+ * @param {String} extraSettings Extra settings of the provider
584
+ */
585
+ $.fn.updateOEmbedProvider = function (name, type, urlschemesarray, apiendpoint, extraSettings) {
586
+ for (var i = 0; i < $.fn.oembed.providers.length; i++) {
587
+ if ($.fn.oembed.providers[i].name === name) {
588
+ if (type !== null) {
589
+ $.fn.oembed.providers[i].type = type;
590
+ }
591
+ if (urlschemesarray !== null) {
592
+ $.fn.oembed.providers[i].urlschemes = urlschemesarray;
593
+ }
594
+ if (apiendpoint !== null) {
595
+ $.fn.oembed.providers[i].apiendpoint = apiendpoint;
596
+ }
597
+ if (extraSettings !== null) {
598
+ $.fn.oembed.providers[i].extraSettings = extraSettings;
599
+ for (var property in extraSettings) {
600
+ if (extraSettings[property] !== null) {
601
+ $.fn.oembed.providers[i][property] = extraSettings[property];
602
+ }
603
+ }
604
+ }
605
+ }
606
+ }
607
+ };
608
+
609
+ /* Native & common providers */
610
+ $.fn.oembed.providers = [
611
+
612
+ //Video
613
+ //new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+", "youtube.com/embed"], checkProtocol() + 'www.youtube.com/embed/$1?wmode=transparent', {
614
+ // templateRegex: /.*(?:v\=|be\/|embed\/)([\w\-]+)&?.*/,embedtag: {tag: 'iframe',width: '425',height: '349'}
615
+ //}),
616
+
617
+ new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+"], checkProtocol() + 'www.youtube.com/oembed', {useYQL:'json'}),
618
+ new $.fn.oembed.OEmbedProvider("youtubeiframe", "video", ["youtube.com/embed"], "$1?wmode=transparent",
619
+ {templateRegex:/(.*)/,embedtag : {tag: 'iframe', width:'425',height: '349'}}),
620
+ new $.fn.oembed.OEmbedProvider("wistia", "video", ["wistia.com/m/.+", "wistia.com/embed/.+","wi.st/m/.+","wi.st/embed/.+"], 'http://fast.wistia.com/oembed', {useYQL:'json'}),
621
+ new $.fn.oembed.OEmbedProvider("xtranormal", "video", ["xtranormal\\.com/watch/.+"], "http://www.xtranormal.com/xtraplayr/$1/$2", {
622
+ templateRegex: /.*com\/watch\/([\w\-]+)\/([\w\-]+).*/,embedtag: {tag: 'iframe',width: '320',height: '269'}}),
623
+ new $.fn.oembed.OEmbedProvider("scivee", "video", ["scivee.tv/node/.+"], "http://www.scivee.tv/flash/embedCast.swf?", {
624
+ templateRegex: /.*tv\/node\/(.+)/,embedtag: {width: '480',height: '400',flashvars:"id=$1&type=3"}}),
625
+ new $.fn.oembed.OEmbedProvider("veoh", "video", ["veoh.com/watch/.+"], "http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1337&permalinkId=$1&player=videodetailsembedded&videoAutoPlay=0&id=anonymous", {
626
+ templateRegex: /.*watch\/([^\?]+).*/,embedtag: {width: '410',height: '341'}}),
627
+ new $.fn.oembed.OEmbedProvider("gametrailers", "video", ["gametrailers\\.com/video/.+"], "http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:$2", {
628
+ templateRegex: /.*com\/video\/([\w\-]+)\/([\w\-]+).*/,embedtag: {width: '512',height: '288' }}),
629
+ new $.fn.oembed.OEmbedProvider("funnyordie", "video", ["funnyordie\\.com/videos/.+"], "http://player.ordienetworks.com/flash/fodplayer.swf?", {
630
+ templateRegex: /.*videos\/([^\/]+)\/([^\/]+)?/,embedtag: {width: 512,height: 328,flashvars: "key=$1"}}),
631
+ new $.fn.oembed.OEmbedProvider("colledgehumour", "video", ["collegehumor\\.com/video/.+"],"http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=$1&use_node_id=true&fullscreen=1",
632
+ {templateRegex:/.*video\/([^\/]+).*/ , embedtag : {width:600,height: 338}}),
633
+ new $.fn.oembed.OEmbedProvider("metacafe", "video", ["metacafe\\.com/watch/.+"],"http://www.metacafe.com/fplayer/$1/$2.swf",
634
+ {templateRegex:/.*watch\/(\d+)\/(\w+)\/.*/ , embedtag : {width:400,height: 345}}),
635
+ new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser\\.com\/channel\/.*\/broadcast\/.*"],"http://static.bambuser.com/r/player.swf?vid=$1",
636
+ {templateRegex:/.*bambuser\.com\/channel\/.*\/broadcast\/(\w+).*/ , embedtag : {width:512,height: 339 }}),
637
+ new $.fn.oembed.OEmbedProvider("twitvid", "video", ["twitvid\\.com/.+"],"http://www.twitvid.com/embed.php?guid=$1&autoplay=0",
638
+ {templateRegex:/.*twitvid\.com\/(\w+).*/ , embedtag : {tag:'iframe',width:480,height: 360 }}),
639
+
640
+ new $.fn.oembed.OEmbedProvider("aniboom", "video", ["aniboom\\.com/animation-video/.+"],"http://api.aniboom.com/e/$1",
641
+ {templateRegex:/.*animation-video\/(\d+).*/ , embedtag : {width:594,height: 334}}),
642
+
643
+ new $.fn.oembed.OEmbedProvider("vzaar", "video", ["vzaar\\.com/videos/.+","vzaar.tv/.+"],"http://view.vzaar.com/$1/player?",
644
+ {templateRegex:/.*\/(\d+).*/, embedtag : {tag:'iframe',width:576,height: 324 }}),
645
+ new $.fn.oembed.OEmbedProvider("snotr", "video", ["snotr\\.com/video/.+"],"http://www.snotr.com/embed/$1",
646
+ {templateRegex:/.*\/(\d+).*/, embedtag : {tag:'iframe',width:400,height: 330, nocache:1 }}),
647
+
648
+ new $.fn.oembed.OEmbedProvider("youku", "video", ["v.youku.com/v_show/id_.+"],"http://player.youku.com/player.php/sid/$1/v.swf",
649
+ {templateRegex:/.*id_(.+)\.html.*/, embedtag : {width:480,height:400, nocache:1 }}),
650
+ new $.fn.oembed.OEmbedProvider("tudou", "video", ["tudou.com/programs/view/.+\/"],"http://www.tudou.com/v/$1/v.swf",
651
+ {templateRegex:/.*view\/(.+)\//, embedtag : {width:480,height:400, nocache:1 }}),
652
+
653
+ new $.fn.oembed.OEmbedProvider("embedr", "video", ["embedr\\.com/playlist/.+"],"http://embedr.com/swf/slider/$1/425/520/default/false/std?",
654
+ {templateRegex:/.*playlist\/([^\/]+).*/, embedtag : {width:425,height: 520}}),
655
+ new $.fn.oembed.OEmbedProvider("blip", "video", ["blip\\.tv/.+"], "http://blip.tv/oembed/"),
656
+ new $.fn.oembed.OEmbedProvider("minoto-video", "video", ["http://api.minoto-video.com/publishers/.+/videos/.+","http://dashboard.minoto-video.com/main/video/details/.+","http://embed.minoto-video.com/.+"], "http://api.minoto-video.com/services/oembed.json",{useYQL:'json'}),
657
+ new $.fn.oembed.OEmbedProvider("animoto", "video", ["animoto.com/play/.+"], "http://animoto.com/services/oembed"),
658
+ new $.fn.oembed.OEmbedProvider("hulu", "video", ["hulu\\.com/watch/.*"], "http://www.hulu.com/api/oembed.json"),
659
+ new $.fn.oembed.OEmbedProvider("ustream", "video", ["ustream\\.tv/recorded/.*"], "http://www.ustream.tv/oembed",{useYQL:'json'}),
660
+ new $.fn.oembed.OEmbedProvider("videojug", "video", ["videojug\\.com/(film|payer|interview).*"], "http://www.videojug.com/oembed.json",{useYQL:'json'}),
661
+ new $.fn.oembed.OEmbedProvider("sapo", "video", ["videos\\.sapo\\.pt/.*"], "http://videos.sapo.pt/oembed",{useYQL:'json'}),
662
+ new $.fn.oembed.OEmbedProvider("vodpod", "video", ["vodpod.com/watch/.*"], "http://vodpod.com/oembed.js",{useYQL:'json'}),
663
+ new $.fn.oembed.OEmbedProvider("vimeo", "video", ["www\.vimeo\.com\/groups\/.*\/videos\/.*", "www\.vimeo\.com\/.*", "vimeo\.com\/groups\/.*\/videos\/.*", "vimeo\.com\/.*"], "//vimeo.com/api/oembed.json"),
664
+ new $.fn.oembed.OEmbedProvider("dailymotion", "video", ["dailymotion\\.com/.+"],'http://www.dailymotion.com/services/oembed'),
665
+ new $.fn.oembed.OEmbedProvider("5min", "video", ["www\\.5min\\.com/.+"], 'http://api.5min.com/oembed.xml',{useYQL:'xml'}),
666
+ new $.fn.oembed.OEmbedProvider("National Film Board of Canada", "video", ["nfb\\.ca/film/.+"],'http://www.nfb.ca/remote/services/oembed/',{useYQL:'json'}),
667
+ new $.fn.oembed.OEmbedProvider("qik", "video", ["qik\\.com/\\w+"], 'http://qik.com/api/oembed.json',{useYQL:'json'}),
668
+ new $.fn.oembed.OEmbedProvider("revision3", "video", ["revision3\\.com"], "http://revision3.com/api/oembed/"),
669
+ new $.fn.oembed.OEmbedProvider("dotsub", "video", ["dotsub\\.com/view/.+"], "http://dotsub.com/services/oembed",{useYQL:'json'}),
670
+ new $.fn.oembed.OEmbedProvider("clikthrough", "video", ["clikthrough\\.com/theater/video/\\d+"], "http://clikthrough.com/services/oembed"),
671
+ new $.fn.oembed.OEmbedProvider("Kinomap", "video", ["kinomap\\.com/.+"], "http://www.kinomap.com/oembed"),
672
+ new $.fn.oembed.OEmbedProvider("VHX", "video", ["vhx.tv/.+"], "http://vhx.tv/services/oembed.json"),
673
+ new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser.com/.+"], "http://api.bambuser.com/oembed/iframe.json"),
674
+ new $.fn.oembed.OEmbedProvider("justin.tv", "video", ["justin.tv/.+"], 'http://api.justin.tv/api/embed/from_url.json',{useYQL:'json'}),
675
+
676
+
677
+ //Audio
678
+ new $.fn.oembed.OEmbedProvider("official.fm", "rich", ["official.fm/.+"], 'http://official.fm/services/oembed',{useYQL:'json'}),
679
+ new $.fn.oembed.OEmbedProvider("chirbit", "rich", ["chirb.it/.+"], 'http://chirb.it/oembed.json',{useYQL:'json'}),
680
+ new $.fn.oembed.OEmbedProvider("Huffduffer", "rich", ["huffduffer.com/[-.\\w@]+/\\d+"], "http://huffduffer.com/oembed"),
681
+ new $.fn.oembed.OEmbedProvider("Spotify", "rich", ["open.spotify.com/(track|album|user)/"], "https://embed.spotify.com/oembed/"),
682
+ new $.fn.oembed.OEmbedProvider("shoudio", "rich", ["shoudio.com/.+","shoud.io/.+"], "http://shoudio.com/api/oembed"),
683
+ new $.fn.oembed.OEmbedProvider("mixcloud", "rich", ["mixcloud.com/.+"], checkProtocol() + 'www.mixcloud.com/oembed/', { useYQL: 'json' }),
684
+ new $.fn.oembed.OEmbedProvider("rdio.com", "rich", ["rd.io/.+", "rdio.com"], checkProtocol() + "www.rdio.com/api/oembed/"),
685
+ new $.fn.oembed.OEmbedProvider("Soundcloud", "rich", ["soundcloud.com/.+", "snd.sc/.+"], checkProtocol() + "soundcloud.com/oembed", { format: 'js' }),
686
+ new $.fn.oembed.OEmbedProvider("bandcamp", "rich", ["bandcamp\\.com/album/.+"], null,
687
+ {yql:{xpath:"//meta[contains(@content, \\'EmbeddedPlayer\\')]", from:'html'
688
+ , datareturn:function(results){
689
+ return results.meta ?'<iframe width="400" height="100" src="'+results.meta.content+'" allowtransparency="true" frameborder="0"></iframe>':false;
690
+ }
691
+ }
692
+ }),
693
+
694
+ //Photo
695
+ new $.fn.oembed.OEmbedProvider("deviantart", "photo", ["deviantart.com/.+","fav.me/.+","deviantart.com/.+"], "http://backend.deviantart.com/oembed",{format:'jsonp'}),
696
+ new $.fn.oembed.OEmbedProvider("skitch", "photo", ["skitch.com/.+"], null,
697
+ {yql:{xpath:"json", from:'json'
698
+ , url: function(externalurl){return 'http://skitch.com/oembed/?format=json&url='+externalurl; }
699
+ , datareturn:function(data){return $.fn.oembed.getPhotoCode( data.json.url, data.json);}
700
+ }
701
+ }),
702
+ new $.fn.oembed.OEmbedProvider("mobypicture", "photo", ["mobypicture.com/user/.+/view/.+","moby.to/.+"], "http://api.mobypicture.com/oEmbed"),
703
+ new $.fn.oembed.OEmbedProvider("flickr", "photo", ["flickr\\.com/photos/.+"], "http://flickr.com/services/oembed",{callbackparameter:'jsoncallback'}),
704
+ new $.fn.oembed.OEmbedProvider("photobucket", "photo", ["photobucket\\.com/(albums|groups)/.+"], checkProtocol() + "photobucket.com/oembed/"),
705
+ new $.fn.oembed.OEmbedProvider("instagram", "photo", ["instagr\\.?am(\\.com)?/.+"], checkProtocol() + "api.instagram.com/oembed"),
706
+ //new $.fn.oembed.OEmbedProvider("yfrog", "photo", ["yfrog\\.(com|ru|com\\.tr|it|fr|co\\.il|co\\.uk|com\\.pl|pl|eu|us)/.+"], checkProtocol() + "www.yfrog.com/api/oembed",{useYQL:"json"}),
707
+ new $.fn.oembed.OEmbedProvider("SmugMug", "photo", ["smugmug.com/[-.\\w@]+/.+"], "http://api.smugmug.com/services/oembed/"),
708
+
709
+ new $.fn.oembed.OEmbedProvider("dribbble", "photo", ["dribbble.com/shots/.+"], "http://api.dribbble.com/shots/$1?callback=?",
710
+ { templateRegex:/.*shots\/([\d]+).*/,
711
+ templateData : function(data){if(!data.image_teaser_url)return false;
712
+ return '<img src="'+data.image_teaser_url+'"/>';
713
+ }
714
+ }),
715
+ new $.fn.oembed.OEmbedProvider("chart.ly", "photo", ["chart\\.ly/[a-z0-9]{6,8}"],"http://chart.ly/uploads/large_$1.png",
716
+ {templateRegex:/.*ly\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
717
+ //new $.fn.oembed.OEmbedProvider("stocktwits.com", "photo", ["stocktwits\\.com/message/.+"], "http://charts.stocktwits.com/production/original_$1.png?",
718
+ // { templateRegex: /.*message\/([^\/]+).*/, embedtag: { tag: 'img'},nocache:1 }),
719
+ new $.fn.oembed.OEmbedProvider("circuitlab", "photo", ["circuitlab.com/circuit/.+"],"https://www.circuitlab.com/circuit/$1/screenshot/540x405/",
720
+ {templateRegex:/.*circuit\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
721
+ new $.fn.oembed.OEmbedProvider("23hq", "photo", ["23hq.com/[-.\\w@]+/photo/.+"],"http://www.23hq.com/23/oembed",{useYQL:"json"}),
722
+ new $.fn.oembed.OEmbedProvider("img.ly", "photo", ["img\\.ly/.+"],"http://img.ly/show/thumb/$1",
723
+ {templateRegex:/.*ly\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1
724
+ }),
725
+ new $.fn.oembed.OEmbedProvider("twitgoo.com", "photo", ["twitgoo\\.com/.+"],"http://twitgoo.com/show/thumb/$1",
726
+ {templateRegex:/.*com\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
727
+ new $.fn.oembed.OEmbedProvider("imgur.com", "photo", ["imgur\\.com/gallery/.+"], checkProtocol() + "imgur.com/$1l.jpg",
728
+ {templateRegex:/.*gallery\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
729
+ new $.fn.oembed.OEmbedProvider("visual.ly", "rich", ["visual\\.ly/.+"], null,
730
+ {yql:{xpath:"//a[@id=\\'gc_article_graphic_image\\']/img", from:'htmlstring'}
731
+ }),
732
+ new $.fn.oembed.OEmbedProvider("gravtar", "photo", ["mailto:.+"],null,
733
+ {templateRegex:/mailto:([^\/]+).*/
734
+ , template : function(wm,email){
735
+ return '<img src="http://gravatar.com/avatar/'+email.md5()+'.jpg" alt="on Gravtar" class="jqoaImg">';
736
+ }
737
+ }),
738
+
739
+ //Rich
740
+ new $.fn.oembed.OEmbedProvider("twitter", "rich", ["twitter.com/.+"], "https://api.twitter.com/1/statuses/oembed.json"),
741
+ new $.fn.oembed.OEmbedProvider("gmep", "rich", ["gmep.imeducate.com/.*","gmep.org/.*"], "http://gmep.org/oembed.json"),
742
+ new $.fn.oembed.OEmbedProvider("urtak", "rich", ["urtak.com/(u|clr)/.+"], "http://oembed.urtak.com/1/oembed"),
743
+ new $.fn.oembed.OEmbedProvider("cacoo", "rich", ["cacoo.com/.+"], "http://cacoo.com/oembed.json"),
744
+ new $.fn.oembed.OEmbedProvider("dailymile", "rich", ["dailymile.com/people/.*/entries/.*"], "http://api.dailymile.com/oembed"),
745
+ new $.fn.oembed.OEmbedProvider("dipity", "rich", ["dipity.com/timeline/.+"],'http://www.dipity.com/oembed/timeline/',{useYQL:'json'}),
746
+ new $.fn.oembed.OEmbedProvider("sketchfab", "rich", ["sketchfab.com/show/.+"],'http://sketchfab.com/oembed',{useYQL:'json'}),
747
+ new $.fn.oembed.OEmbedProvider("speakerdeck", "rich", ["speakerdeck.com/.+"],'http://speakerdeck.com/oembed.json',{useYQL:'json'}),
748
+ new $.fn.oembed.OEmbedProvider("popplet", "rich", ["popplet.com/app/.*"],"http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",
749
+ {templateRegex:/.*#\/([^\/]+).*/,embedtag : {width:460,height: 460} }),
750
+
751
+ new $.fn.oembed.OEmbedProvider("pearltrees", "rich", ["pearltrees.com/.*"],"http://cdn.pearltrees.com/s/embed/getApp?",
752
+ {templateRegex:/.*N-f=1_(\d+).*N-p=(\d+).*/, embedtag : {width:460,height: 460,
753
+ flashvars : "lang=en_US&amp;embedId=pt-embed-$1-693&amp;treeId=$1&amp;pearlId=$2&amp;treeTitle=Diagrams%2FVisualization&amp;site=www.pearltrees.com%2FF"}
754
+ }),
755
+
756
+ new $.fn.oembed.OEmbedProvider("prezi", "rich", ["prezi.com/.*"],"http://prezi.com/bin/preziloader.swf?",
757
+ {templateRegex:/.*com\/([^\/]+)\/.*/,embedtag : {width:550,height: 400,
758
+ flashvars : "prezi_id=$1&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"
759
+ }
760
+ }),
761
+
762
+ new $.fn.oembed.OEmbedProvider("tourwrist", "rich", ["tourwrist.com/tours/.+"], null,
763
+ { templateRegex:/.*tours.([\d]+).*/,
764
+ template : function(wm,tourid){
765
+ setTimeout(function(){if(loadEmbeds)loadEmbeds();},2000);
766
+ return "<div id='"+tourid+"' class='tourwrist-tour-embed direct'></div> <script type='text/javascript' src='http://tourwrist.com/tour_embed.js'></script>";
767
+ }
768
+ }),
769
+
770
+ new $.fn.oembed.OEmbedProvider("meetup", "rich", ["meetup\\.(com|ps)/.+"], checkProtocol() + "api.meetup.com/oembed"),
771
+ new $.fn.oembed.OEmbedProvider("ebay", "rich", ["ebay\\.*"], checkProtocol() + "togo.ebay.com/togo/togo.swf?2008013100",
772
+ {templateRegex:/.*\/([^\/]+)\/(\d{10,13}).*/, embedtag : {width:355,height: 300,
773
+ flashvars : "base=http://togo.ebay.com/togo/&lang=en-us&mode=normal&itemid=$2&query=$1"
774
+ }
775
+ }),
776
+ new $.fn.oembed.OEmbedProvider("wikipedia", "rich", ["wikipedia.org/wiki/.+"], "http://$1.wikipedia.org/w/api.php?action=parse&page=$2&format=json&section=0&callback=?",{
777
+ templateRegex:/.*\/\/([\w]+).*\/wiki\/([^\/]+).*/,
778
+ templateData : function(data){if(!data.parse)return false;
779
+ var text = data.parse['text']['*'].replace(/href="\/wiki/g,'href="http://en.wikipedia.org/wiki');
780
+ return '<div id="content"><h3><a class="nav-link" href="http://en.wikipedia.org/wiki/'+data.parse['displaytitle']+'">'+data.parse['displaytitle']+'</a></h3>'+text+'</div>';
781
+ }
782
+ }),
783
+ new $.fn.oembed.OEmbedProvider("imdb", "rich", ["imdb.com/title/.+"], "http://www.imdbapi.com/?i=$1&callback=?",
784
+ {templateRegex:/.*\/title\/([^\/]+).*/,
785
+ templateData : function(data){if(!data.Title)return false;
786
+ return '<div id="content"><h3><a class="nav-link" href="http://imdb.com/title/'+data.ID+'/">'+data.Title+'</a> ('+data.Year+')</h3><p>Starring: '+data.Actors+'</p><div id="photo-wrap" style="margin: auto;width:600px;height:450px;"><img class="photo" id="photo-display" src="'+data.Poster+'" alt="'+data.Title+'"></div> <div id="view-photo-caption">'+data.Plot+'</div></div>';
787
+ }
788
+ }),
789
+ new $.fn.oembed.OEmbedProvider("livejournal", "rich", ["livejournal.com/"], "http://ljpic.seacrow.com/json/$2$4?jsonp=?"
790
+ ,{templateRegex:/(http:\/\/(((?!users).)+)\.livejournal\.com|.*users\.livejournal\.com\/([^\/]+)).*/,
791
+ templateData : function(data){if(!data.username)return false;
792
+ return '<div><img src="'+data.image+'" align="left" style="margin-right: 1em;" /><span class="oembedall-ljuser"><a href="http://'+data.username+'.livejournal.com/profile"><img src="http://www.livejournal.com/img/userinfo.gif" alt="[info]" width="17" height="17" /></a><a href="http://'+data.username+'.livejournal.com/">'+data.username+'</a></span><br />'+data.name+'</div>';
793
+ }
794
+ }),
795
+ new $.fn.oembed.OEmbedProvider("circuitbee", "rich", ["circuitbee\\.com/circuit/view/.+"],"http://c.circuitbee.com/build/r/schematic-embed.html?id=$1",
796
+ {templateRegex:/.*circuit\/view\/(\d+).*/ ,embedtag : {tag: 'iframe', width:'500',height: '350'}
797
+ }),
798
+
799
+ new $.fn.oembed.OEmbedProvider("googlecalendar", "rich", ["www.google.com/calendar/embed?.+"],"$1",
800
+ {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'800',height: '600' }
801
+ }),
802
+ new $.fn.oembed.OEmbedProvider("jsfiddle", "rich", ["jsfiddle.net/[^/]+/?"],"http://jsfiddle.net/$1/embedded/result,js,resources,html,css/?",
803
+ {templateRegex:/.*net\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: '300' }
804
+ }),
805
+ new $.fn.oembed.OEmbedProvider("jsbin", "rich", ["jsbin.com/.+"],"http://jsbin.com/$1/?",
806
+ {templateRegex:/.*com\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: '300' }
807
+ }),
808
+
809
+ new $.fn.oembed.OEmbedProvider("jotform", "rich", ["form.jotform.co/form/.+"],"$1?",
810
+ {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'100%',height: '507' }
811
+ }),
812
+ new $.fn.oembed.OEmbedProvider("reelapp", "rich", ["reelapp\\.com/.+"],"http://www.reelapp.com/$1/embed",
813
+ {templateRegex:/.*com\/(\S{6}).*/ ,embedtag : {tag: 'iframe', width:'400',height: '338'}
814
+ }),
815
+ new $.fn.oembed.OEmbedProvider("linkedin", "rich", ["linkedin.com/pub/.+"],"https://www.linkedin.com/cws/member/public_profile?public_profile_url=$1&format=inline&isFramed=true",
816
+ {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'368px',height: 'auto'}
817
+ }),
818
+
819
+ new $.fn.oembed.OEmbedProvider("timetoast", "rich", ["timetoast.com/timelines/[0-9]+"],"http://www.timetoast.com/flash/TimelineViewer.swf?passedTimelines=$1",
820
+ {templateRegex:/.*timelines\/([0-9]*)/ ,embedtag : { width:550,height: 400,nocache:1}
821
+ }),
822
+ new $.fn.oembed.OEmbedProvider("pastebin", "rich", ["pastebin\\.com/[\\S]{8}"],"http://pastebin.com/embed_iframe.php?i=$1",
823
+ {templateRegex:/.*\/(\S{8}).*/ ,embedtag : {tag: 'iframe', width:'100%',height: 'auto'}
824
+ }),
825
+ new $.fn.oembed.OEmbedProvider("mixlr", "rich", ["mixlr.com/.+"],"http://mixlr.com/embed/$1?autoplay=ae",
826
+ {templateRegex:/.*com\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: 'auto' }
827
+ }),
828
+ new $.fn.oembed.OEmbedProvider("pastie", "rich", ["pastie\\.org/pastes/.+"],null,{yql:{xpath:'//pre[@class="textmate-source"]'}}),
829
+ new $.fn.oembed.OEmbedProvider("github", "rich", ["gist.github.com/.+"], "https://github.com/api/oembed"),
830
+ new $.fn.oembed.OEmbedProvider("github", "rich", ["github.com/[-.\\w@]+/[-.\\w@]+"], "https://api.github.com/repos/$1/$2?callback=?"
831
+ ,{templateRegex:/.*\/([^\/]+)\/([^\/]+).*/,
832
+ templateData : function(data){ if(!data.data.html_url)return false;
833
+ return '<div class="oembedall-githubrepos"><ul class="oembedall-repo-stats"><li>'+data.data.language+'</li><li class="oembedall-watchers"><a title="Watchers" href="'+data.data.html_url+'/watchers">&#x25c9; '+data.data.watchers+'</a></li>'
834
+ +'<li class="oembedall-forks"><a title="Forks" href="'+data.data.html_url+'/network">&#x0265; '+data.data.forks+'</a></li></ul><h3><a href="'+data.data.html_url+'">'+data.data.name+'</a></h3><div class="oembedall-body"><p class="oembedall-description">'+data.data.description+'</p>'
835
+ +'<p class="oembedall-updated-at">Last updated: '+data.data.pushed_at+'</p></div></div>';
836
+ }
837
+ }),
838
+
839
+ new $.fn.oembed.OEmbedProvider("facebook", "rich", ["facebook.com/(people/[^\\/]+/\\d+|[^\\/]+$)"], "https://graph.facebook.com/$2$3/?callback=?"
840
+ ,{templateRegex:/.*facebook.com\/(people\/[^\/]+\/(\d+).*|([^\/]+$))/,
841
+ templateData : function(data){ if(!data.id)return false;
842
+ var out = '<div class="oembedall-facebook1"><div class="oembedall-facebook2"><a href="http://www.facebook.com/">facebook</a> ';
843
+ if(data.from) out += '<a href="http://www.facebook.com/'+data.from.id+'">'+data.from.name+'</a>';
844
+ else if(data.link) out += '<a href="'+data.link+'">'+data.name+'</a>';
845
+ else if(data.username) out += '<a href="http://www.facebook.com/'+data.username+'">'+data.name+'</a>';
846
+ else out += '<a href="http://www.facebook.com/'+data.id+'">'+data.name+'</a>';
847
+ out += '</div><div class="oembedall-facebookBody"><div class="contents">';
848
+ if(data.picture) out += '<a href="'+data.link+'"><img src="'+data.picture+'"></a>';
849
+ else out += '<img src="https://graph.facebook.com/'+data.id+'/picture">';
850
+ if(data.from) out += '<a href="'+data.link+'">'+data.name+'</a>';
851
+ if(data.founded) out += 'Founded: <strong>'+data.founded+'</strong><br>';
852
+ if(data.category) out += 'Category: <strong>'+data.category+'</strong><br>';
853
+ if(data.website) out += 'Website: <strong><a href="'+data.website+'">'+data.website+'</a></strong><br>';
854
+ if(data.gender) out += 'Gender: <strong>'+data.gender+'</strong><br>';
855
+ if(data.description) out += data.description + '<br>';
856
+ out += '</div></div>';
857
+ return out;
858
+ }
859
+ }),
860
+ new $.fn.oembed.OEmbedProvider("stackoverflow", "rich", ["stackoverflow.com/questions/[\\d]+"], "http://api.stackoverflow.com/1.1/questions/$1?body=true&jsonp=?"
861
+ ,{templateRegex:/.*questions\/([\d]+).*/,
862
+ templateData : function(data){
863
+ if(!data.questions)return false;
864
+ var q = data.questions[0];
865
+ var body = $(q.body).text();
866
+ var out = '<div class="oembedall-stoqembed"><div class="oembedall-statscontainer"><div class="oembedall-statsarrow"></div><div class="oembedall-stats"><div class="oembedall-vote"><div class="oembedall-votes">'
867
+ +'<span class="oembedall-vote-count-post"><strong>'+ (q.up_vote_count - q.down_vote_count)+ '</strong></span><div class="oembedall-viewcount">vote(s)</div></div>'
868
+ +'</div><div class="oembedall-status"><strong>'+q.answer_count+'</strong>answer</div></div><div class="oembedall-views">'+q.view_count+' view(s)</div></div>'
869
+ +'<div class="oembedall-summary"><h3><a class="oembedall-question-hyperlink" href="http://stackoverflow.com/questions/'+q.question_id+'/">'+q.title+'</a></h3>'
870
+ +'<div class="oembedall-excerpt">'+ body.substring(0,100)+'...</div><div class="oembedall-tags">';
871
+ for(i in q.tags)
872
+ out += '<a title="" class="oembedall-post-tag" href="http://stackoverflow.com/questions/tagged/'+q.tags[i]+'">'+q.tags[i]+'</a>';
873
+ out += '</div><div class="oembedall-fr"><div class="oembedall-user-info"><div class="oembedall-user-gravatar32"><a href="http://stackoverflow.com/users/'+q.owner.user_id+'/'+q.owner.display_name+'">'
874
+ +'<img width="32" height="32" alt="" src="http://www.gravatar.com/avatar/'+q.owner.email_hash+'?s=32&amp;d=identicon&amp;r=PG"></a></div><div class="oembedall-user-details">'
875
+ +'<a href="http://stackoverflow.com/users/'+q.owner.user_id+'/'+q.owner.display_name+'">'+q.owner.display_name+'</a><br><span title="reputation score" class="oembedall-reputation-score">'
876
+ +q.owner.reputation+'</span></div></div></div></div></div>';
877
+ return out;
878
+ }
879
+ }),
880
+ new $.fn.oembed.OEmbedProvider("wordpress", "rich", ["wordpress\\.com/.+","blogs\\.cnn\\.com/.+","techcrunch\\.com/.+","wp\\.me/.+"], "http://public-api.wordpress.com/oembed/1.0/?for=jquery-oembed-all"),
881
+ new $.fn.oembed.OEmbedProvider("screenr", "rich", ["screenr\.com"], "http://www.screenr.com/embed/$1",
882
+ {templateRegex:/.*\/([^\/]+).*/
883
+ ,embedtag : {tag: 'iframe', width:'650',height: 396}
884
+ }) ,
885
+ new $.fn.oembed.OEmbedProvider("gigpans", "rich", ["gigapan\\.org/[-.\\w@]+/\\d+"],"http://gigapan.org/gigapans/$1/options/nosnapshots/iframe/flash.html",
886
+ {templateRegex:/.*\/(\d+)\/?.*/,
887
+ embedtag : {tag: 'iframe', width:'100%',height: 400 }
888
+ }),
889
+ new $.fn.oembed.OEmbedProvider("scribd", "rich", ["scribd\\.com/.+"], checkProtocol() + "www.scribd.com/embeds/$1/content?start_page=1&view_mode=list",
890
+ {templateRegex:/.*doc\/([^\/]+).*/ ,
891
+ embedtag : {tag: 'iframe', width:'100%',height: 600}
892
+ }),
893
+ new $.fn.oembed.OEmbedProvider("kickstarter", "rich", ["kickstarter\\.com/projects/.+"], "$1/widget/card.html",
894
+ {templateRegex:/([^\?]+).*/ ,
895
+ embedtag : {tag: 'iframe', width:'220',height: 380}
896
+ }),
897
+
898
+ new $.fn.oembed.OEmbedProvider("amazon", "rich", ["amzn.com/B+", "amazon.com.*/(B\\S+)($|\\/.*)"], checkProtocol() + "rcm.amazon.com/e/cm?t=_APIKEY_&o=1&p=8&l=as1&asins=$1&ref=qf_br_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr"
899
+ ,{apikey: true,templateRegex:/.*\/(B[0-9A-Z]+)($|\/.*)/,
900
+ embedtag : {tag: 'iframe', width:'120px',height: '240px'}
901
+ }),
902
+
903
+ new $.fn.oembed.OEmbedProvider("slideshare", "rich", ["slideshare\.net"], checkProtocol() + "www.slideshare.net/api/oembed/2", { format: 'jsonp' }),
904
+ new $.fn.oembed.OEmbedProvider("roomsharejp", "rich", ["roomshare\\.jp/(en/)?post/.*"], "http://roomshare.jp/oembed.json"),
905
+
906
+ new $.fn.oembed.OEmbedProvider("lanyard", "rich", ["lanyrd.com/\\d+/.+"], null,
907
+ {yql:{xpath:'(//div[@class="primary"])[1]', from: 'htmlstring'
908
+ , datareturn:function(results){
909
+ if(!results.result) return false;
910
+ return '<div class="oembedall-lanyard">'+results.result+'</div>';
911
+ }
912
+ }
913
+ }),
914
+ new $.fn.oembed.OEmbedProvider("asciiartfarts", "rich", ["asciiartfarts.com/\\d+.html"], null,
915
+ {yql:{xpath:'//pre/font', from: 'htmlstring'
916
+ , datareturn:function(results){
917
+ if(!results.result) return false;
918
+ return '<pre style="background-color:000;">'+results.result+'</div>';
919
+ }
920
+ }
921
+ }),
922
+
923
+
924
+
925
+ //Use Open Graph Where applicable
926
+ new $.fn.oembed.OEmbedProvider("opengraph", "rich", [".*"], null,
927
+ {yql:{xpath:"//meta|//title|//link", from:'html'
928
+ , datareturn:function(results){
929
+ if(!results['og:title'] && results['title'] &&results['description'])results['og:title']=results['title'];
930
+ if(!results['og:title'] && !results['title'])return false;
931
+ var code = $('<p/>');
932
+ if(results['og:video']) {
933
+ var embed = $('<embed src="'+results['og:video']+'"/>');
934
+ embed
935
+ .attr('type',results['og:video:type'] || "application/x-shockwave-flash")
936
+ .css('max-height', settings.maxHeight || 'auto' )
937
+ .css('max-width', settings.maxWidth || 'auto' );
938
+ if(results['og:video:width']) embed.attr('width',results['og:video:width']);
939
+ if(results['og:video:height']) embed.attr('height',results['og:video:height']);
940
+ code.append(embed);
941
+ }else if(results['og:image']) {
942
+ var img = $('<img src="'+results['og:image']+'">');
943
+ img.css('max-height', settings.maxHeight || 'auto' ).css('max-width', settings.maxWidth || 'auto' );
944
+ if(results['og:image:width']) img.attr('width',results['og:image:width']);
945
+ if(results['og:image:height']) img.attr('height',results['og:image:height']);
946
+ code.append(img);
947
+ }
948
+ if(results['og:title']) code.append('<b>'+results['og:title']+'</b><br/>');
949
+ if(results['og:description'])
950
+ code.append(results['og:description']+'<br/>');
951
+ else if(results['description'])
952
+ code.append(results['description']+'<br/>');
953
+ return code;
954
+ }
955
+ }
956
+ })
957
+
958
+ ];
959
+ })(jQuery);
960
+
961
+ //This is needed for gravatar :(
962
+ String.prototype.md5=function(){var a=function(a,b){var c=(a&65535)+(b&65535);var d=(a>>16)+(b>>16)+(c>>16);return d<<16|c&65535;
963
+ };var b=function(a,b){return a<<b|a>>>32-b; };var c=function(c,d,e,f,g,h){return a(b(a(a(d,c),a(f,h)),g),e); };var d=function(a,b,d,e,f,g,h){return c(b&d|~b&e,a,b,f,g,h); };var e=function(a,b,d,e,f,g,h){return c(b&e|d&~e,a,b,f,g,h); };var f=function(a,b,d,e,f,g,h){return c(b^d^e,a,b,f,g,h); };var g=function(a,b,d,e,f,g,h){return c(d^(b|~e),a,b,f,g,h); };var h=function(b){var c,h,i,j,k,l=b.length;var m=1732584193;var n=-271733879;var o=-1732584194;var p=271733878;for(k=0;k<l;k+=16){c=m;h=n;i=o;j=p;m=d(m,n,o,p,b[k+0],7,-680876936);p=d(p,m,n,o,b[k+1],12,-389564586);o=d(o,p,m,n,b[k+2],17,606105819);n=d(n,o,p,m,b[k+3],22,-1044525330);m=d(m,n,o,p,b[k+4],7,-176418897);p=d(p,m,n,o,b[k+5],12,1200080426);o=d(o,p,m,n,b[k+6],17,-1473231341);n=d(n,o,p,m,b[k+7],22,-45705983);m=d(m,n,o,p,b[k+8],7,1770035416);p=d(p,m,n,o,b[k+9],12,-1958414417);o=d(o,p,m,n,b[k+10],17,-42063);n=d(n,o,p,m,b[k+11],22,-1990404162);m=d(m,n,o,p,b[k+12],7,1804603682);p=d(p,m,n,o,b[k+13],12,-40341101);o=d(o,p,m,n,b[k+14],17,-1502002290);n=d(n,o,p,m,b[k+15],22,1236535329);m=e(m,n,o,p,b[k+1],5,-165796510);p=e(p,m,n,o,b[k+6],9,-1069501632);o=e(o,p,m,n,b[k+11],14,643717713);n=e(n,o,p,m,b[k+0],20,-373897302);m=e(m,n,o,p,b[k+5],5,-701558691);p=e(p,m,n,o,b[k+10],9,38016083);o=e(o,p,m,n,b[k+15],14,-660478335);n=e(n,o,p,m,b[k+4],20,-405537848);m=e(m,n,o,p,b[k+9],5,568446438);p=e(p,m,n,o,b[k+14],9,-1019803690);o=e(o,p,m,n,b[k+3],14,-187363961);n=e(n,o,p,m,b[k+8],20,1163531501);m=e(m,n,o,p,b[k+13],5,-1444681467);p=e(p,m,n,o,b[k+2],9,-51403784);o=e(o,p,m,n,b[k+7],14,1735328473);n=e(n,o,p,m,b[k+12],20,-1926607734);m=f(m,n,o,p,b[k+5],4,-378558);p=f(p,m,n,o,b[k+8],11,-2022574463);o=f(o,p,m,n,b[k+11],16,1839030562);n=f(n,o,p,m,b[k+14],23,-35309556);m=f(m,n,o,p,b[k+1],4,-1530992060);p=f(p,m,n,o,b[k+4],11,1272893353);o=f(o,p,m,n,b[k+7],16,-155497632);n=f(n,o,p,m,b[k+10],23,-1094730640);m=f(m,n,o,p,b[k+13],4,681279174);p=f(p,m,n,o,b[k+0],11,-358537222);o=f(o,p,m,n,b[k+3],16,-722521979);n=f(n,o,p,m,b[k+6],23,76029189);m=f(m,n,o,p,b[k+9],4,-640364487);p=f(p,m,n,o,b[k+12],11,-421815835);o=f(o,p,m,n,b[k+15],16,530742520);n=f(n,o,p,m,b[k+2],23,-995338651);m=g(m,n,o,p,b[k+0],6,-198630844);p=g(p,m,n,o,b[k+7],10,1126891415);o=g(o,p,m,n,b[k+14],15,-1416354905);n=g(n,o,p,m,b[k+5],21,-57434055);m=g(m,n,o,p,b[k+12],6,1700485571);p=g(p,m,n,o,b[k+3],10,-1894986606);o=g(o,p,m,n,b[k+10],15,-1051523);n=g(n,o,p,m,b[k+1],21,-2054922799);m=g(m,n,o,p,b[k+8],6,1873313359);p=g(p,m,n,o,b[k+15],10,-30611744);o=g(o,p,m,n,b[k+6],15,-1560198380);n=g(n,o,p,m,b[k+13],21,1309151649);m=g(m,n,o,p,b[k+4],6,-145523070);p=g(p,m,n,o,b[k+11],10,-1120210379);o=g(o,p,m,n,b[k+2],15,718787259);n=g(n,o,p,m,b[k+9],21,-343485551);m=a(m,c);n=a(n,h);o=a(o,i);p=a(p,j);
964
+ }return[m,n,o,p];
965
+ };var i=function(a){var b="0123456789abcdef",c="",d,e=a.length*4;for(d=0;d<e;d++){c+=b.charAt(a[d>>2]>>d%4*8+4&15)+b.charAt(a[d>>2]>>d%4*8&15);
966
+ }return c;
967
+ };var j=function(a){var b=(a.length+8>>6)+1;var c=[],d,e=b*16,f,g=a.length;for(d=0;d<e;d++){c.push(0);
968
+ }for(f=0;f<g;f++){c[f>>2]|=(a.charCodeAt(f)&255)<<f%4*8;
969
+ }c[f>>2]|=128<<f%4*8;c[b*16-2]=g*8;return c;
970
+ };return i(h(j(this)));
971
+ };