cg_app_base 1.0.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (852) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +23 -0
  5. data/app/assets/fonts/flatty/FontAwesome.otf +0 -0
  6. data/app/assets/fonts/flatty/bootstrap/glyphicons-halflings-regular.eot +0 -0
  7. data/app/assets/fonts/flatty/bootstrap/glyphicons-halflings-regular.svg +228 -0
  8. data/app/assets/fonts/flatty/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/fonts/flatty/bootstrap/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/fonts/flatty/fontawesome-webfont.eot +0 -0
  11. data/app/assets/fonts/flatty/fontawesome-webfont.svg +399 -0
  12. data/app/assets/fonts/flatty/fontawesome-webfont.ttf +0 -0
  13. data/app/assets/fonts/flatty/fontawesome-webfont.woff +0 -0
  14. data/app/assets/fonts/flatty/montserrat-bold-webfont.eot +0 -0
  15. data/app/assets/fonts/flatty/montserrat-bold-webfont.svg +244 -0
  16. data/app/assets/fonts/flatty/montserrat-bold-webfont.ttf +0 -0
  17. data/app/assets/fonts/flatty/montserrat-bold-webfont.woff +0 -0
  18. data/app/assets/fonts/flatty/montserrat-regular-webfont.eot +0 -0
  19. data/app/assets/fonts/flatty/montserrat-regular-webfont.svg +243 -0
  20. data/app/assets/fonts/flatty/montserrat-regular-webfont.ttf +0 -0
  21. data/app/assets/fonts/flatty/montserrat-regular-webfont.woff +0 -0
  22. data/app/assets/images/ajaxSpinner.gif +0 -0
  23. data/app/assets/images/flatty/ajax-loaders/1.gif +0 -0
  24. data/app/assets/images/flatty/ajax-loaders/10.gif +0 -0
  25. data/app/assets/images/flatty/ajax-loaders/11.gif +0 -0
  26. data/app/assets/images/flatty/ajax-loaders/12.gif +0 -0
  27. data/app/assets/images/flatty/ajax-loaders/13.gif +0 -0
  28. data/app/assets/images/flatty/ajax-loaders/14.gif +0 -0
  29. data/app/assets/images/flatty/ajax-loaders/15.gif +0 -0
  30. data/app/assets/images/flatty/ajax-loaders/16.gif +0 -0
  31. data/app/assets/images/flatty/ajax-loaders/17.gif +0 -0
  32. data/app/assets/images/flatty/ajax-loaders/18.gif +0 -0
  33. data/app/assets/images/flatty/ajax-loaders/2.gif +0 -0
  34. data/app/assets/images/flatty/ajax-loaders/3.gif +0 -0
  35. data/app/assets/images/flatty/ajax-loaders/4.gif +0 -0
  36. data/app/assets/images/flatty/ajax-loaders/5.gif +0 -0
  37. data/app/assets/images/flatty/ajax-loaders/6.gif +0 -0
  38. data/app/assets/images/flatty/ajax-loaders/7.gif +0 -0
  39. data/app/assets/images/flatty/ajax-loaders/8.gif +0 -0
  40. data/app/assets/images/flatty/ajax-loaders/9.gif +0 -0
  41. data/app/assets/images/flatty/avatar.jpg +0 -0
  42. data/app/assets/images/flatty/avatar@2x.jpg +0 -0
  43. data/app/assets/images/flatty/emails/logo.jpg +0 -0
  44. data/app/assets/images/flatty/emails/logo_blue.jpg +0 -0
  45. data/app/assets/images/flatty/emails/logo_green.jpg +0 -0
  46. data/app/assets/images/flatty/emails/logo_muted.jpg +0 -0
  47. data/app/assets/images/flatty/emails/logo_orange.jpg +0 -0
  48. data/app/assets/images/flatty/emails/logo_purple.jpg +0 -0
  49. data/app/assets/images/flatty/jquery_ui/animated-overlay.gif +0 -0
  50. data/app/assets/images/flatty/logo.png +0 -0
  51. data/app/assets/images/flatty/logo.svg +3443 -0
  52. data/app/assets/images/flatty/logo_lg.png +0 -0
  53. data/app/assets/images/flatty/logo_lg.svg +59 -0
  54. data/app/assets/images/flatty/logo_xs.png +0 -0
  55. data/app/assets/images/flatty/logo_xs.svg +3372 -0
  56. data/app/assets/images/flatty/meta_icons/apple-touch-icon-114x114.png +0 -0
  57. data/app/assets/images/flatty/meta_icons/apple-touch-icon-144x144.png +0 -0
  58. data/app/assets/images/flatty/meta_icons/apple-touch-icon-57x57.png +0 -0
  59. data/app/assets/images/flatty/meta_icons/apple-touch-icon-72x72.png +0 -0
  60. data/app/assets/images/flatty/meta_icons/apple-touch-icon.png +0 -0
  61. data/app/assets/images/flatty/meta_icons/favicon.ico +0 -0
  62. data/app/assets/images/flatty/plugins/bootstrap_colorpicker/alpha.png +0 -0
  63. data/app/assets/images/flatty/plugins/bootstrap_colorpicker/hue.png +0 -0
  64. data/app/assets/images/flatty/plugins/bootstrap_colorpicker/saturation.png +0 -0
  65. data/app/assets/images/flatty/plugins/dynatree/icons.gif +0 -0
  66. data/app/assets/images/flatty/plugins/dynatree/loading.gif +0 -0
  67. data/app/assets/images/flatty/plugins/flags/flags.png +0 -0
  68. data/app/assets/images/flatty/plugins/lightbox/close.png +0 -0
  69. data/app/assets/images/flatty/plugins/lightbox/loading.gif +0 -0
  70. data/app/assets/images/flatty/plugins/lightbox/next.png +0 -0
  71. data/app/assets/images/flatty/plugins/lightbox/prev.png +0 -0
  72. data/app/assets/images/flatty/plugins/naked_password/f0.png +0 -0
  73. data/app/assets/images/flatty/plugins/naked_password/f1.png +0 -0
  74. data/app/assets/images/flatty/plugins/naked_password/f2.png +0 -0
  75. data/app/assets/images/flatty/plugins/naked_password/f3.png +0 -0
  76. data/app/assets/images/flatty/plugins/naked_password/f4.png +0 -0
  77. data/app/assets/images/flatty/plugins/naked_password/f5.png +0 -0
  78. data/app/assets/images/flatty/plugins/naked_password/m0.png +0 -0
  79. data/app/assets/images/flatty/plugins/naked_password/m1.png +0 -0
  80. data/app/assets/images/flatty/plugins/naked_password/m2.png +0 -0
  81. data/app/assets/images/flatty/plugins/naked_password/m3.png +0 -0
  82. data/app/assets/images/flatty/plugins/naked_password/m4.png +0 -0
  83. data/app/assets/images/flatty/plugins/naked_password/m5.png +0 -0
  84. data/app/assets/images/flatty/plugins/select2/select2-spinner.gif +0 -0
  85. data/app/assets/images/flatty/plugins/select2/select2.png +0 -0
  86. data/app/assets/images/flatty/plugins/select2/select2x2.png +0 -0
  87. data/app/assets/images/loading.gif +0 -0
  88. data/app/assets/images/logo_caronetguay-3.jpg +0 -0
  89. data/app/assets/images/logo_caronetguay-nwsltr.jpg +0 -0
  90. data/app/assets/images/logo_caronetguay.jpg +0 -0
  91. data/app/assets/images/newicons/black0.png +0 -0
  92. data/app/assets/images/newicons/black1.png +0 -0
  93. data/app/assets/images/newicons/black10.png +0 -0
  94. data/app/assets/images/newicons/black100.png +0 -0
  95. data/app/assets/images/newicons/black11.png +0 -0
  96. data/app/assets/images/newicons/black12.png +0 -0
  97. data/app/assets/images/newicons/black13.png +0 -0
  98. data/app/assets/images/newicons/black14.png +0 -0
  99. data/app/assets/images/newicons/black15.png +0 -0
  100. data/app/assets/images/newicons/black16.png +0 -0
  101. data/app/assets/images/newicons/black17.png +0 -0
  102. data/app/assets/images/newicons/black18.png +0 -0
  103. data/app/assets/images/newicons/black19.png +0 -0
  104. data/app/assets/images/newicons/black2.png +0 -0
  105. data/app/assets/images/newicons/black20.png +0 -0
  106. data/app/assets/images/newicons/black21.png +0 -0
  107. data/app/assets/images/newicons/black22.png +0 -0
  108. data/app/assets/images/newicons/black23.png +0 -0
  109. data/app/assets/images/newicons/black24.png +0 -0
  110. data/app/assets/images/newicons/black25.png +0 -0
  111. data/app/assets/images/newicons/black26.png +0 -0
  112. data/app/assets/images/newicons/black27.png +0 -0
  113. data/app/assets/images/newicons/black28.png +0 -0
  114. data/app/assets/images/newicons/black29.png +0 -0
  115. data/app/assets/images/newicons/black3.png +0 -0
  116. data/app/assets/images/newicons/black30.png +0 -0
  117. data/app/assets/images/newicons/black31.png +0 -0
  118. data/app/assets/images/newicons/black32.png +0 -0
  119. data/app/assets/images/newicons/black33.png +0 -0
  120. data/app/assets/images/newicons/black34.png +0 -0
  121. data/app/assets/images/newicons/black35.png +0 -0
  122. data/app/assets/images/newicons/black36.png +0 -0
  123. data/app/assets/images/newicons/black37.png +0 -0
  124. data/app/assets/images/newicons/black38.png +0 -0
  125. data/app/assets/images/newicons/black39.png +0 -0
  126. data/app/assets/images/newicons/black4.png +0 -0
  127. data/app/assets/images/newicons/black40.png +0 -0
  128. data/app/assets/images/newicons/black41.png +0 -0
  129. data/app/assets/images/newicons/black42.png +0 -0
  130. data/app/assets/images/newicons/black43.png +0 -0
  131. data/app/assets/images/newicons/black44.png +0 -0
  132. data/app/assets/images/newicons/black45.png +0 -0
  133. data/app/assets/images/newicons/black46.png +0 -0
  134. data/app/assets/images/newicons/black47.png +0 -0
  135. data/app/assets/images/newicons/black48.png +0 -0
  136. data/app/assets/images/newicons/black49.png +0 -0
  137. data/app/assets/images/newicons/black5.png +0 -0
  138. data/app/assets/images/newicons/black50.png +0 -0
  139. data/app/assets/images/newicons/black51.png +0 -0
  140. data/app/assets/images/newicons/black52.png +0 -0
  141. data/app/assets/images/newicons/black53.png +0 -0
  142. data/app/assets/images/newicons/black54.png +0 -0
  143. data/app/assets/images/newicons/black55.png +0 -0
  144. data/app/assets/images/newicons/black56.png +0 -0
  145. data/app/assets/images/newicons/black57.png +0 -0
  146. data/app/assets/images/newicons/black58.png +0 -0
  147. data/app/assets/images/newicons/black59.png +0 -0
  148. data/app/assets/images/newicons/black6.png +0 -0
  149. data/app/assets/images/newicons/black60.png +0 -0
  150. data/app/assets/images/newicons/black61.png +0 -0
  151. data/app/assets/images/newicons/black62.png +0 -0
  152. data/app/assets/images/newicons/black63.png +0 -0
  153. data/app/assets/images/newicons/black64.png +0 -0
  154. data/app/assets/images/newicons/black65.png +0 -0
  155. data/app/assets/images/newicons/black66.png +0 -0
  156. data/app/assets/images/newicons/black67.png +0 -0
  157. data/app/assets/images/newicons/black68.png +0 -0
  158. data/app/assets/images/newicons/black69.png +0 -0
  159. data/app/assets/images/newicons/black7.png +0 -0
  160. data/app/assets/images/newicons/black70.png +0 -0
  161. data/app/assets/images/newicons/black71.png +0 -0
  162. data/app/assets/images/newicons/black72.png +0 -0
  163. data/app/assets/images/newicons/black73.png +0 -0
  164. data/app/assets/images/newicons/black74.png +0 -0
  165. data/app/assets/images/newicons/black75.png +0 -0
  166. data/app/assets/images/newicons/black76.png +0 -0
  167. data/app/assets/images/newicons/black77.png +0 -0
  168. data/app/assets/images/newicons/black78.png +0 -0
  169. data/app/assets/images/newicons/black79.png +0 -0
  170. data/app/assets/images/newicons/black8.png +0 -0
  171. data/app/assets/images/newicons/black80.png +0 -0
  172. data/app/assets/images/newicons/black81.png +0 -0
  173. data/app/assets/images/newicons/black82.png +0 -0
  174. data/app/assets/images/newicons/black83.png +0 -0
  175. data/app/assets/images/newicons/black84.png +0 -0
  176. data/app/assets/images/newicons/black85.png +0 -0
  177. data/app/assets/images/newicons/black86.png +0 -0
  178. data/app/assets/images/newicons/black87.png +0 -0
  179. data/app/assets/images/newicons/black88.png +0 -0
  180. data/app/assets/images/newicons/black89.png +0 -0
  181. data/app/assets/images/newicons/black9.png +0 -0
  182. data/app/assets/images/newicons/black90.png +0 -0
  183. data/app/assets/images/newicons/black91.png +0 -0
  184. data/app/assets/images/newicons/black92.png +0 -0
  185. data/app/assets/images/newicons/black93.png +0 -0
  186. data/app/assets/images/newicons/black94.png +0 -0
  187. data/app/assets/images/newicons/black95.png +0 -0
  188. data/app/assets/images/newicons/black96.png +0 -0
  189. data/app/assets/images/newicons/black97.png +0 -0
  190. data/app/assets/images/newicons/black98.png +0 -0
  191. data/app/assets/images/newicons/black99.png +0 -0
  192. data/app/assets/images/newicons/index.html +213 -0
  193. data/app/assets/images/newicons/red0.png +0 -0
  194. data/app/assets/images/newicons/red1.png +0 -0
  195. data/app/assets/images/newicons/red10.png +0 -0
  196. data/app/assets/images/newicons/red100.png +0 -0
  197. data/app/assets/images/newicons/red11.png +0 -0
  198. data/app/assets/images/newicons/red12.png +0 -0
  199. data/app/assets/images/newicons/red13.png +0 -0
  200. data/app/assets/images/newicons/red14.png +0 -0
  201. data/app/assets/images/newicons/red15.png +0 -0
  202. data/app/assets/images/newicons/red16.png +0 -0
  203. data/app/assets/images/newicons/red17.png +0 -0
  204. data/app/assets/images/newicons/red18.png +0 -0
  205. data/app/assets/images/newicons/red19.png +0 -0
  206. data/app/assets/images/newicons/red2.png +0 -0
  207. data/app/assets/images/newicons/red20.png +0 -0
  208. data/app/assets/images/newicons/red21.png +0 -0
  209. data/app/assets/images/newicons/red22.png +0 -0
  210. data/app/assets/images/newicons/red23.png +0 -0
  211. data/app/assets/images/newicons/red24.png +0 -0
  212. data/app/assets/images/newicons/red25.png +0 -0
  213. data/app/assets/images/newicons/red26.png +0 -0
  214. data/app/assets/images/newicons/red27.png +0 -0
  215. data/app/assets/images/newicons/red28.png +0 -0
  216. data/app/assets/images/newicons/red29.png +0 -0
  217. data/app/assets/images/newicons/red3.png +0 -0
  218. data/app/assets/images/newicons/red30.png +0 -0
  219. data/app/assets/images/newicons/red31.png +0 -0
  220. data/app/assets/images/newicons/red32.png +0 -0
  221. data/app/assets/images/newicons/red33.png +0 -0
  222. data/app/assets/images/newicons/red34.png +0 -0
  223. data/app/assets/images/newicons/red35.png +0 -0
  224. data/app/assets/images/newicons/red36.png +0 -0
  225. data/app/assets/images/newicons/red37.png +0 -0
  226. data/app/assets/images/newicons/red38.png +0 -0
  227. data/app/assets/images/newicons/red39.png +0 -0
  228. data/app/assets/images/newicons/red4.png +0 -0
  229. data/app/assets/images/newicons/red40.png +0 -0
  230. data/app/assets/images/newicons/red41.png +0 -0
  231. data/app/assets/images/newicons/red42.png +0 -0
  232. data/app/assets/images/newicons/red43.png +0 -0
  233. data/app/assets/images/newicons/red44.png +0 -0
  234. data/app/assets/images/newicons/red45.png +0 -0
  235. data/app/assets/images/newicons/red46.png +0 -0
  236. data/app/assets/images/newicons/red47.png +0 -0
  237. data/app/assets/images/newicons/red48.png +0 -0
  238. data/app/assets/images/newicons/red49.png +0 -0
  239. data/app/assets/images/newicons/red5.png +0 -0
  240. data/app/assets/images/newicons/red50.png +0 -0
  241. data/app/assets/images/newicons/red51.png +0 -0
  242. data/app/assets/images/newicons/red52.png +0 -0
  243. data/app/assets/images/newicons/red53.png +0 -0
  244. data/app/assets/images/newicons/red54.png +0 -0
  245. data/app/assets/images/newicons/red55.png +0 -0
  246. data/app/assets/images/newicons/red56.png +0 -0
  247. data/app/assets/images/newicons/red57.png +0 -0
  248. data/app/assets/images/newicons/red58.png +0 -0
  249. data/app/assets/images/newicons/red59.png +0 -0
  250. data/app/assets/images/newicons/red6.png +0 -0
  251. data/app/assets/images/newicons/red60.png +0 -0
  252. data/app/assets/images/newicons/red61.png +0 -0
  253. data/app/assets/images/newicons/red62.png +0 -0
  254. data/app/assets/images/newicons/red63.png +0 -0
  255. data/app/assets/images/newicons/red64.png +0 -0
  256. data/app/assets/images/newicons/red65.png +0 -0
  257. data/app/assets/images/newicons/red66.png +0 -0
  258. data/app/assets/images/newicons/red67.png +0 -0
  259. data/app/assets/images/newicons/red68.png +0 -0
  260. data/app/assets/images/newicons/red69.png +0 -0
  261. data/app/assets/images/newicons/red7.png +0 -0
  262. data/app/assets/images/newicons/red70.png +0 -0
  263. data/app/assets/images/newicons/red71.png +0 -0
  264. data/app/assets/images/newicons/red72.png +0 -0
  265. data/app/assets/images/newicons/red73.png +0 -0
  266. data/app/assets/images/newicons/red74.png +0 -0
  267. data/app/assets/images/newicons/red75.png +0 -0
  268. data/app/assets/images/newicons/red76.png +0 -0
  269. data/app/assets/images/newicons/red77.png +0 -0
  270. data/app/assets/images/newicons/red78.png +0 -0
  271. data/app/assets/images/newicons/red79.png +0 -0
  272. data/app/assets/images/newicons/red8.png +0 -0
  273. data/app/assets/images/newicons/red80.png +0 -0
  274. data/app/assets/images/newicons/red81.png +0 -0
  275. data/app/assets/images/newicons/red82.png +0 -0
  276. data/app/assets/images/newicons/red83.png +0 -0
  277. data/app/assets/images/newicons/red84.png +0 -0
  278. data/app/assets/images/newicons/red85.png +0 -0
  279. data/app/assets/images/newicons/red86.png +0 -0
  280. data/app/assets/images/newicons/red87.png +0 -0
  281. data/app/assets/images/newicons/red88.png +0 -0
  282. data/app/assets/images/newicons/red89.png +0 -0
  283. data/app/assets/images/newicons/red9.png +0 -0
  284. data/app/assets/images/newicons/red90.png +0 -0
  285. data/app/assets/images/newicons/red91.png +0 -0
  286. data/app/assets/images/newicons/red92.png +0 -0
  287. data/app/assets/images/newicons/red93.png +0 -0
  288. data/app/assets/images/newicons/red94.png +0 -0
  289. data/app/assets/images/newicons/red95.png +0 -0
  290. data/app/assets/images/newicons/red96.png +0 -0
  291. data/app/assets/images/newicons/red97.png +0 -0
  292. data/app/assets/images/newicons/red98.png +0 -0
  293. data/app/assets/images/newicons/red99.png +0 -0
  294. data/app/assets/images/spinner_squares_circle.gif +0 -0
  295. data/app/assets/images/sprite-skin-flat.png +0 -0
  296. data/app/assets/images/top-arrow.png +0 -0
  297. data/app/assets/javascripts/autocomplete-rails.js +143 -0
  298. data/app/assets/javascripts/base.js.coffee +56 -0
  299. data/app/assets/javascripts/flatty/bootstrap/bootstrap.js +1999 -0
  300. data/app/assets/javascripts/flatty/bootstrap/bootstrap.min.js +6 -0
  301. data/app/assets/javascripts/flatty/demo.js.coffee +19 -0
  302. data/app/assets/javascripts/flatty/ie/html5shiv.js +11 -0
  303. data/app/assets/javascripts/flatty/ie/respond.min.js +6 -0
  304. data/app/assets/javascripts/flatty/jquery/jquery-migrate.min.js +2 -0
  305. data/app/assets/javascripts/flatty/jquery/jquery-ui.min.js +12 -0
  306. data/app/assets/javascripts/flatty/jquery/jquery.min.js +4 -0
  307. data/app/assets/javascripts/flatty/jquery/jquery.mobile.custom.min.js +2 -0
  308. data/app/assets/javascripts/flatty/plugins/autosize/jquery.autosize-min.js +7 -0
  309. data/app/assets/javascripts/flatty/plugins/bootbox/bootbox.min.js +6 -0
  310. data/app/assets/javascripts/flatty/plugins/bootstrap_colorpicker/bootstrap-colorpicker.min.js +1 -0
  311. data/app/assets/javascripts/flatty/plugins/bootstrap_daterangepicker/bootstrap-daterangepicker.js +1026 -0
  312. data/app/assets/javascripts/flatty/plugins/bootstrap_daterangepicker/daterangepicker.js +1026 -0
  313. data/app/assets/javascripts/flatty/plugins/bootstrap_daterangepicker/moment.min.js +6 -0
  314. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/bootstrap-datepicker.js +1671 -0
  315. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/bootstrap-datetimepicker.js +26 -0
  316. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ar.js +15 -0
  317. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.az.js +12 -0
  318. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.bg.js +14 -0
  319. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ca.js +14 -0
  320. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.cs.js +15 -0
  321. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.cy.js +14 -0
  322. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.da.js +15 -0
  323. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.de.js +17 -0
  324. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.el.js +13 -0
  325. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.es.js +14 -0
  326. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.et.js +18 -0
  327. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.fa.js +17 -0
  328. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.fi.js +16 -0
  329. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.fr.js +17 -0
  330. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.gl.js +11 -0
  331. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.he.js +15 -0
  332. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.hr.js +13 -0
  333. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.hu.js +16 -0
  334. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.id.js +15 -0
  335. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.is.js +14 -0
  336. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.it.js +17 -0
  337. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ja.js +15 -0
  338. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ka.js +17 -0
  339. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.kk.js +15 -0
  340. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.kr.js +13 -0
  341. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.lt.js +16 -0
  342. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.lv.js +16 -0
  343. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.mk.js +15 -0
  344. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ms.js +14 -0
  345. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.nb.js +14 -0
  346. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.nl-BE.js +17 -0
  347. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.nl.js +14 -0
  348. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.no.js +16 -0
  349. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.pl.js +15 -0
  350. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.pt-BR.js +15 -0
  351. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.pt.js +16 -0
  352. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ro.js +16 -0
  353. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.rs-latin.js +14 -0
  354. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.rs.js +14 -0
  355. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ru.js +15 -0
  356. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.sk.js +15 -0
  357. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.sl.js +14 -0
  358. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.sq.js +15 -0
  359. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.sv.js +16 -0
  360. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.sw.js +15 -0
  361. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.th.js +14 -0
  362. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.tr.js +16 -0
  363. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.ua.js +15 -0
  364. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.vi.js +16 -0
  365. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.zh-CN.js +16 -0
  366. data/app/assets/javascripts/flatty/plugins/bootstrap_datetimepicker/locales/bootstrap-datepicker.zh-TW.js +17 -0
  367. data/app/assets/javascripts/flatty/plugins/bootstrap_hover_dropdown/twitter-bootstrap-hover-dropdown.min.js +13 -0
  368. data/app/assets/javascripts/flatty/plugins/bootstrap_maxlength/bootstrap-maxlength.min.js +13 -0
  369. data/app/assets/javascripts/flatty/plugins/bootstrap_switch/bootstrapSwitch.min.js +14 -0
  370. data/app/assets/javascripts/flatty/plugins/charCount/charCount.js +58 -0
  371. data/app/assets/javascripts/flatty/plugins/ckeditor/build-config.js +162 -0
  372. data/app/assets/javascripts/flatty/plugins/ckeditor/ckeditor.js +919 -0
  373. data/app/assets/javascripts/flatty/plugins/ckeditor/config.js +10 -0
  374. data/app/assets/javascripts/flatty/plugins/ckeditor/contents.css +103 -0
  375. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/af.js +5 -0
  376. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ar.js +5 -0
  377. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/bg.js +5 -0
  378. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/bn.js +5 -0
  379. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/bs.js +5 -0
  380. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ca.js +5 -0
  381. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/cs.js +5 -0
  382. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/cy.js +5 -0
  383. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/da.js +5 -0
  384. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/de.js +5 -0
  385. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/el.js +5 -0
  386. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/en-au.js +5 -0
  387. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/en-ca.js +5 -0
  388. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/en-gb.js +5 -0
  389. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/en.js +5 -0
  390. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/eo.js +5 -0
  391. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/es.js +5 -0
  392. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/et.js +5 -0
  393. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/eu.js +5 -0
  394. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/fa.js +5 -0
  395. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/fi.js +5 -0
  396. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/fo.js +5 -0
  397. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/fr-ca.js +5 -0
  398. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/fr.js +5 -0
  399. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/gl.js +5 -0
  400. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/gu.js +5 -0
  401. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/he.js +5 -0
  402. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/hi.js +5 -0
  403. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/hr.js +5 -0
  404. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/hu.js +5 -0
  405. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/is.js +5 -0
  406. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/it.js +5 -0
  407. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ja.js +5 -0
  408. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ka.js +5 -0
  409. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/km.js +5 -0
  410. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ko.js +5 -0
  411. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ku.js +5 -0
  412. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/lt.js +5 -0
  413. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/lv.js +5 -0
  414. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/mk.js +5 -0
  415. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/mn.js +5 -0
  416. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ms.js +5 -0
  417. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/nb.js +5 -0
  418. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/nl.js +5 -0
  419. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/no.js +5 -0
  420. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/pl.js +5 -0
  421. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/pt-br.js +5 -0
  422. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/pt.js +5 -0
  423. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ro.js +5 -0
  424. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ru.js +5 -0
  425. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sk.js +5 -0
  426. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sl.js +5 -0
  427. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sq.js +5 -0
  428. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sr-latn.js +5 -0
  429. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sr.js +5 -0
  430. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/sv.js +5 -0
  431. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/th.js +5 -0
  432. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/tr.js +5 -0
  433. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/ug.js +5 -0
  434. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/uk.js +5 -0
  435. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/vi.js +5 -0
  436. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/zh-cn.js +5 -0
  437. data/app/assets/javascripts/flatty/plugins/ckeditor/lang/zh.js +5 -0
  438. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  439. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  440. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  441. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  442. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +10 -0
  443. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  444. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  445. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  446. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  447. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  448. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
  449. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  450. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  451. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  452. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  453. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  454. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +10 -0
  455. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +10 -0
  456. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  457. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  458. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  459. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  460. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +9 -0
  461. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  462. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  463. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  464. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  465. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  466. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +11 -0
  467. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  468. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  469. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  470. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  471. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  472. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +10 -0
  473. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  474. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +9 -0
  475. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  476. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +9 -0
  477. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  478. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +9 -0
  479. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +9 -0
  480. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  481. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  482. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  483. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  484. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +9 -0
  485. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  486. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  487. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/about/dialogs/about.js +6 -0
  488. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  489. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  490. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -0
  491. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  492. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/div/dialogs/div.js +9 -0
  493. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  494. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/find/dialogs/find.js +24 -0
  495. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/flash/dialogs/flash.js +24 -0
  496. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/flash/images/placeholder.png +0 -0
  497. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/button.js +8 -0
  498. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
  499. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/form.js +8 -0
  500. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  501. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/radio.js +8 -0
  502. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/select.js +20 -0
  503. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  504. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
  505. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  506. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/icons.png +0 -0
  507. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  508. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  509. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/image/dialogs/image.js +43 -0
  510. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/image/images/noimage.png +0 -0
  511. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  512. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/link/dialogs/link.js +36 -0
  513. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/link/images/anchor.png +0 -0
  514. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  515. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/magicline/images/icon.png +0 -0
  516. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  517. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/pastefromword/filter/default.js +31 -0
  518. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/preview/preview.html +10 -0
  519. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/scayt/dialogs/options.js +20 -0
  520. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  521. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  522. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  523. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  524. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  525. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  526. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  527. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  528. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  529. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  530. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  531. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  532. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
  533. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  534. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  535. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  536. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  537. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  538. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  539. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  540. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  541. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  542. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/heart.gif +0 -0
  543. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  544. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  545. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  546. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  547. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  548. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  549. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  550. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  551. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  552. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  553. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  554. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  555. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  556. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  557. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  558. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  559. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  560. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  561. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  562. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  563. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  564. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  565. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  566. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  567. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  568. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  569. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  570. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/he.js +13 -0
  571. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  572. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  573. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  574. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  575. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  576. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  577. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  578. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  579. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  580. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  581. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  582. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  583. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  584. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  585. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  586. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  587. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  588. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/table/dialogs/table.js +21 -0
  589. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
  590. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  591. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  592. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/templates/default.js +6 -0
  593. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  594. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  595. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  596. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  597. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  598. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  599. data/app/assets/javascripts/flatty/plugins/ckeditor/plugins/wsc/dialogs/wsc.js +11 -0
  600. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/ajax.html +82 -0
  601. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/api.html +207 -0
  602. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/appendto.html +57 -0
  603. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/inlineall/logo.png +0 -0
  604. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/outputxhtml/outputxhtml.css +204 -0
  605. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/posteddata.php +59 -0
  606. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/sample.css +3 -0
  607. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/sample.jpg +0 -0
  608. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/assets/uilanguages/languages.js +7 -0
  609. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/datafiltering.html +401 -0
  610. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/divreplace.html +141 -0
  611. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/index.html +122 -0
  612. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/inlineall.html +311 -0
  613. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/inlinebycode.html +122 -0
  614. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/dialog/assets/my_dialog.js +48 -0
  615. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/dialog/dialog.html +187 -0
  616. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/enterkey/enterkey.html +103 -0
  617. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  618. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  619. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +18 -0
  620. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/htmlwriter/outputforflash.html +280 -0
  621. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/htmlwriter/outputhtml.html +221 -0
  622. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/magicline/magicline.html +207 -0
  623. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/toolbar/toolbar.html +232 -0
  624. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/plugins/wysiwygarea/fullpage.html +77 -0
  625. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/readonly.html +73 -0
  626. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/replacebyclass.html +57 -0
  627. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/replacebycode.html +56 -0
  628. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/sample.css +339 -0
  629. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/sample.js +33 -0
  630. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/sample_posteddata.php +16 -0
  631. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/tabindex.html +75 -0
  632. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/uicolor.html +69 -0
  633. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/uilanguages.html +119 -0
  634. data/app/assets/javascripts/flatty/plugins/ckeditor/samples/xhtmlstyle.html +231 -0
  635. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog.css +5 -0
  636. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog_ie.css +5 -0
  637. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog_ie7.css +5 -0
  638. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog_ie8.css +5 -0
  639. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  640. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/dialog_opera.css +5 -0
  641. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor.css +5 -0
  642. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor_gecko.css +5 -0
  643. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor_ie.css +5 -0
  644. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor_ie7.css +5 -0
  645. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor_ie8.css +5 -0
  646. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/editor_iequirks.css +5 -0
  647. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/icons.png +0 -0
  648. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/images/arrow.png +0 -0
  649. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/images/close.png +0 -0
  650. data/app/assets/javascripts/flatty/plugins/ckeditor/skins/moono/images/mini.png +0 -0
  651. data/app/assets/javascripts/flatty/plugins/ckeditor/styles.js +111 -0
  652. data/app/assets/javascripts/flatty/plugins/common/bootstrap-wysihtml5.js +498 -0
  653. data/app/assets/javascripts/flatty/plugins/common/moment.min.js +6 -0
  654. data/app/assets/javascripts/flatty/plugins/common/wysihtml5.min.js +261 -0
  655. data/app/assets/javascripts/flatty/plugins/datatables/dataTables.overrides.js +131 -0
  656. data/app/assets/javascripts/flatty/plugins/datatables/jquery.dataTables.columnFilter.js +365 -0
  657. data/app/assets/javascripts/flatty/plugins/datatables/jquery.dataTables.min.js +155 -0
  658. data/app/assets/javascripts/flatty/plugins/dynatree/jquery.dynatree.min.js +4 -0
  659. data/app/assets/javascripts/flatty/plugins/fileinput/bootstrap-fileinput.js +122 -0
  660. data/app/assets/javascripts/flatty/plugins/fileupload/canvas-to-blob.min.js +1 -0
  661. data/app/assets/javascripts/flatty/plugins/fileupload/jquery.fileupload-fp.min.js +1 -0
  662. data/app/assets/javascripts/flatty/plugins/fileupload/jquery.fileupload-init.js +48 -0
  663. data/app/assets/javascripts/flatty/plugins/fileupload/jquery.fileupload-ui.min.js +1 -0
  664. data/app/assets/javascripts/flatty/plugins/fileupload/jquery.fileupload.min.js +1 -0
  665. data/app/assets/javascripts/flatty/plugins/fileupload/jquery.iframe-transport.min.js +1 -0
  666. data/app/assets/javascripts/flatty/plugins/fileupload/load-image.min.js +1 -0
  667. data/app/assets/javascripts/flatty/plugins/fileupload/tmpl.min.js +1 -0
  668. data/app/assets/javascripts/flatty/plugins/flot/excanvas.js +1 -0
  669. data/app/assets/javascripts/flatty/plugins/flot/flot.crosshair.js +167 -0
  670. data/app/assets/javascripts/flatty/plugins/flot/flot.fillbetween.js +183 -0
  671. data/app/assets/javascripts/flatty/plugins/flot/flot.image.js +238 -0
  672. data/app/assets/javascripts/flatty/plugins/flot/flot.min.js +33 -0
  673. data/app/assets/javascripts/flatty/plugins/flot/flot.navigate.js +33 -0
  674. data/app/assets/javascripts/flatty/plugins/flot/flot.pie.js +750 -0
  675. data/app/assets/javascripts/flatty/plugins/flot/flot.resize.js +60 -0
  676. data/app/assets/javascripts/flatty/plugins/flot/flot.selection.js +344 -0
  677. data/app/assets/javascripts/flatty/plugins/flot/flot.stack.js +184 -0
  678. data/app/assets/javascripts/flatty/plugins/flot/flot.symbol.js +70 -0
  679. data/app/assets/javascripts/flatty/plugins/flot/flot.threshold.js +103 -0
  680. data/app/assets/javascripts/flatty/plugins/fuelux/wizard.js +165 -0
  681. data/app/assets/javascripts/flatty/plugins/fullcalendar/fullcalendar.min.js +7 -0
  682. data/app/assets/javascripts/flatty/plugins/input_mask/bootstrap-inputmask.min.js +7 -0
  683. data/app/assets/javascripts/flatty/plugins/ion_range_slider/ion.rangeSlider.js +1966 -0
  684. data/app/assets/javascripts/flatty/plugins/ion_range_slider/ion.rangeSlider.min.js +69 -0
  685. data/app/assets/javascripts/flatty/plugins/jgrowl/jquery.jgrowl.min.js +1 -0
  686. data/app/assets/javascripts/flatty/plugins/jquery_ui_touch_punch/jquery.ui.touch-punch.min.js +11 -0
  687. data/app/assets/javascripts/flatty/plugins/lightbox/lightbox.min.js +1 -0
  688. data/app/assets/javascripts/flatty/plugins/mention/mention.min.js +166 -0
  689. data/app/assets/javascripts/flatty/plugins/modernizr/modernizr.min.js +4 -0
  690. data/app/assets/javascripts/flatty/plugins/naked_password/naked_password-0.2.4.min.js +9 -0
  691. data/app/assets/javascripts/flatty/plugins/nestable/jquery.nestable.js +485 -0
  692. data/app/assets/javascripts/flatty/plugins/plugins.js +50 -0
  693. data/app/assets/javascripts/flatty/plugins/pwstrength/pwstrength.js +320 -0
  694. data/app/assets/javascripts/flatty/plugins/retina/retina.js +3 -0
  695. data/app/assets/javascripts/flatty/plugins/select2/select2.js +22 -0
  696. data/app/assets/javascripts/flatty/plugins/slider_nav/slidernav-min.js +7 -0
  697. data/app/assets/javascripts/flatty/plugins/slimscroll/jquery.slimscroll.min.js +16 -0
  698. data/app/assets/javascripts/flatty/plugins/sparklines/jquery.sparkline.min.js +5 -0
  699. data/app/assets/javascripts/flatty/plugins/tabdrop/bootstrap-tabdrop.js +117 -0
  700. data/app/assets/javascripts/flatty/plugins/timeago/jquery.timeago.js +193 -0
  701. data/app/assets/javascripts/flatty/plugins/typeahead/typeahead.js +335 -0
  702. data/app/assets/javascripts/flatty/plugins/validate/additional-methods.js +617 -0
  703. data/app/assets/javascripts/flatty/plugins/validate/additional-methods.min.js +2 -0
  704. data/app/assets/javascripts/flatty/plugins/validate/jquery.validate.js +1231 -0
  705. data/app/assets/javascripts/flatty/plugins/validate/jquery.validate.min.js +2 -0
  706. data/app/assets/javascripts/flatty/plugins/validate/messages_fr.js +47 -0
  707. data/app/assets/javascripts/flatty/theme.js.coffee +314 -0
  708. data/app/assets/stylesheets/_timeline.scss +87 -0
  709. data/app/assets/stylesheets/application.scss +7 -0
  710. data/app/assets/stylesheets/application2.scss +1675 -0
  711. data/app/assets/stylesheets/bootstrap-generators.scss +22 -0
  712. data/app/assets/stylesheets/bootstrap-variables.scss +839 -0
  713. data/app/assets/stylesheets/cg_app_base/application.css +15 -0
  714. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_alerts.scss +73 -0
  715. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_badges.scss +51 -0
  716. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_bootstrap.scss +59 -0
  717. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_breadcrumbs.scss +23 -0
  718. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_button-groups.scss +250 -0
  719. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_buttons.scss +165 -0
  720. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_carousel.scss +209 -0
  721. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_close.scss +35 -0
  722. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_code.scss +56 -0
  723. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_component-animations.scss +29 -0
  724. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_dropdowns.scss +194 -0
  725. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_forms.scss +352 -0
  726. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_glyphicons.scss +232 -0
  727. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_grid.scss +296 -0
  728. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_input-groups.scss +127 -0
  729. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_jumbotron.scss +40 -0
  730. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_labels.scss +70 -0
  731. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_list-group.scss +90 -0
  732. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_media.scss +56 -0
  733. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_mixins.scss +730 -0
  734. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_modals.scss +146 -0
  735. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_navbar.scss +625 -0
  736. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_navs.scss +229 -0
  737. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_normalize.scss +396 -0
  738. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_pager.scss +55 -0
  739. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_pagination.scss +83 -0
  740. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_panels.scss +148 -0
  741. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_popovers.scss +133 -0
  742. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_print.scss +100 -0
  743. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_progress-bars.scss +95 -0
  744. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_responsive-utilities.scss +209 -0
  745. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_scaffolding.scss +130 -0
  746. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_tables.scss +236 -0
  747. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_theme.scss +234 -0
  748. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_thumbnails.scss +31 -0
  749. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_tooltip.scss +95 -0
  750. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_type.scss +238 -0
  751. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_utilities.scss +42 -0
  752. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_variables.scss +627 -0
  753. data/app/assets/stylesheets/flatty/bootstrap/bootstrap/_wells.scss +29 -0
  754. data/app/assets/stylesheets/flatty/bootstrap/bootstrap.scss +1 -0
  755. data/app/assets/stylesheets/flatty/dark-blue-theme.scss +142 -0
  756. data/app/assets/stylesheets/flatty/dark-theme.scss +142 -0
  757. data/app/assets/stylesheets/flatty/demo.scss +16 -0
  758. data/app/assets/stylesheets/flatty/jquery/jquery.ui.datepicker.scss +179 -0
  759. data/app/assets/stylesheets/flatty/jquery/jquery.ui.theme.scss +408 -0
  760. data/app/assets/stylesheets/flatty/jquery/jquery_ui.scss +6 -0
  761. data/app/assets/stylesheets/flatty/light-theme.scss +142 -0
  762. data/app/assets/stylesheets/flatty/plugins/_plugins.scss +19 -0
  763. data/app/assets/stylesheets/flatty/plugins/bootstrap_colorpicker/bootstrap-colorpicker.scss +7 -0
  764. data/app/assets/stylesheets/flatty/plugins/bootstrap_daterangepicker/bootstrap-daterangepicker.scss +267 -0
  765. data/app/assets/stylesheets/flatty/plugins/bootstrap_datetimepicker/bootstrap-datetimepicker.min.scss +249 -0
  766. data/app/assets/stylesheets/flatty/plugins/bootstrap_datetimepicker/datepicker3.scss +790 -0
  767. data/app/assets/stylesheets/flatty/plugins/bootstrap_switch/bootstrap-switch.scss +287 -0
  768. data/app/assets/stylesheets/flatty/plugins/common/bootstrap-wysihtml5.scss +102 -0
  769. data/app/assets/stylesheets/flatty/plugins/datatables/bootstrap-datatable.scss +152 -0
  770. data/app/assets/stylesheets/flatty/plugins/dynatree/ui.dynatree.scss +452 -0
  771. data/app/assets/stylesheets/flatty/plugins/flags/flags.scss +258 -0
  772. data/app/assets/stylesheets/flatty/plugins/fuelux/wizard.scss +164 -0
  773. data/app/assets/stylesheets/flatty/plugins/fullcalendar/fullcalendar.scss +564 -0
  774. data/app/assets/stylesheets/flatty/plugins/ion_range_slider/ion.rangeSlider.css +146 -0
  775. data/app/assets/stylesheets/flatty/plugins/ion_range_slider/ion.range_slider.skin_flat.css +107 -0
  776. data/app/assets/stylesheets/flatty/plugins/jgrowl/jquery.jgrowl.min.scss +136 -0
  777. data/app/assets/stylesheets/flatty/plugins/jquery_fileupload/jquery.fileupload-ui.scss +84 -0
  778. data/app/assets/stylesheets/flatty/plugins/lightbox/lightbox.scss +170 -0
  779. data/app/assets/stylesheets/flatty/plugins/mention/mention.scss +19 -0
  780. data/app/assets/stylesheets/flatty/plugins/select2/select2.scss +614 -0
  781. data/app/assets/stylesheets/flatty/plugins/slider_nav/slidernav.scss +26 -0
  782. data/app/assets/stylesheets/flatty/plugins/tabdrop/tabdrop.scss +12 -0
  783. data/app/assets/stylesheets/flatty/theme/_accordions.scss +39 -0
  784. data/app/assets/stylesheets/flatty/theme/_boxes-quick-links.scss +63 -0
  785. data/app/assets/stylesheets/flatty/theme/_boxes-statistics.scss +59 -0
  786. data/app/assets/stylesheets/flatty/theme/_boxes.scss +193 -0
  787. data/app/assets/stylesheets/flatty/theme/_calendar.scss +62 -0
  788. data/app/assets/stylesheets/flatty/theme/_chat.scss +114 -0
  789. data/app/assets/stylesheets/flatty/theme/_common.scss +55 -0
  790. data/app/assets/stylesheets/flatty/theme/_content.scss +117 -0
  791. data/app/assets/stylesheets/flatty/theme/_font-awesome.scss +1479 -0
  792. data/app/assets/stylesheets/flatty/theme/_forms.scss +144 -0
  793. data/app/assets/stylesheets/flatty/theme/_header.scss +336 -0
  794. data/app/assets/stylesheets/flatty/theme/_navigation.scss +484 -0
  795. data/app/assets/stylesheets/flatty/theme/_nestable-list.scss +99 -0
  796. data/app/assets/stylesheets/flatty/theme/_overrides-bootstrap.scss +86 -0
  797. data/app/assets/stylesheets/flatty/theme/_overrides-plugins.scss +223 -0
  798. data/app/assets/stylesheets/flatty/theme/_recent-activity.scss +124 -0
  799. data/app/assets/stylesheets/flatty/theme/_tables.scss +130 -0
  800. data/app/assets/stylesheets/flatty/theme/_tabs.scss +221 -0
  801. data/app/assets/stylesheets/flatty/theme/_tasks.scss +12 -0
  802. data/app/assets/stylesheets/flatty/theme/_todo-list.scss +152 -0
  803. data/app/assets/stylesheets/flatty/theme/_type.scss +170 -0
  804. data/app/assets/stylesheets/flatty/theme/_utilities.scss +122 -0
  805. data/app/assets/stylesheets/flatty/theme/_variables.scss +140 -0
  806. data/app/assets/stylesheets/flatty/theme/_wizard.scss +62 -0
  807. data/app/assets/stylesheets/flatty/theme/common/_buttons.scss +258 -0
  808. data/app/assets/stylesheets/flatty/theme/common/_dropdowns.scss +7 -0
  809. data/app/assets/stylesheets/flatty/theme/common/_elements.scss +17 -0
  810. data/app/assets/stylesheets/flatty/theme/common/_modals.scss +3 -0
  811. data/app/assets/stylesheets/flatty/theme/common/_paginations.scss +5 -0
  812. data/app/assets/stylesheets/flatty/theme/common/_progress.scss +55 -0
  813. data/app/assets/stylesheets/flatty/theme/pages/_errors.scss +84 -0
  814. data/app/assets/stylesheets/flatty/theme/pages/_faq.scss +25 -0
  815. data/app/assets/stylesheets/flatty/theme/pages/_gallery.scss +64 -0
  816. data/app/assets/stylesheets/flatty/theme/pages/_invoice.scss +77 -0
  817. data/app/assets/stylesheets/flatty/theme/pages/_login.scss +81 -0
  818. data/app/assets/stylesheets/flatty/theme/pages/_orders.scss +45 -0
  819. data/app/assets/stylesheets/flatty/theme/pages/_pricing_tables.scss +65 -0
  820. data/app/assets/stylesheets/flatty/theme/pages/_timeline.scss +87 -0
  821. data/app/assets/stylesheets/flatty/theme-colors.scss +329 -0
  822. data/app/assets/stylesheets/scaffolds.css.scss +69 -0
  823. data/app/assets/stylesheets/vehicles.css.scss +3 -0
  824. data/app/controllers/cg_app_base/application_controller.rb +13 -0
  825. data/app/controllers/cg_app_base/redirect_tool_controller.rb +10 -0
  826. data/app/controllers/concerns/cg_app_base/ip_authorization_concern.rb +19 -0
  827. data/app/helpers/cg_app_base/application_helper.rb +23 -0
  828. data/app/models/ability.rb +41 -0
  829. data/app/models/cg_app_base/address.rb +54 -0
  830. data/app/models/cg_app_base/contact.rb +33 -0
  831. data/app/models/cg_app_base/phone.rb +36 -0
  832. data/app/models/concerns/attributes_normalizer.rb +19 -0
  833. data/app/navigation_renderers/cg_navigation_renderer.rb +57 -0
  834. data/app/views/cg_app_base/redirect_tool/index.html.erb +86 -0
  835. data/app/views/layouts/application.html.erb +116 -0
  836. data/app/views/shared/_flash_message.html.erb +14 -0
  837. data/app/views/shared/_main_navigation.html.erb +17 -0
  838. data/app/views/shared/_navigation.html.erb +21 -0
  839. data/app/views/shared/_navigation_embedded.html.erb +10 -0
  840. data/config/cucumber.yml +8 -0
  841. data/config/initializers/simple_form.rb +145 -0
  842. data/config/initializers/simple_form_bootstrap.rb +86 -0
  843. data/config/initializers/simple_navigation.rb +2 -0
  844. data/config/navigation.rb +117 -0
  845. data/config/routes.rb +2 -0
  846. data/lib/cg_app_base/engine.rb +13 -0
  847. data/lib/cg_app_base/version.rb +3 -0
  848. data/lib/cg_app_base.rb +11 -0
  849. data/lib/controllers/concerns/layout_concern.rb +16 -0
  850. data/lib/tasks/cg_app_base_tasks.rake +4 -0
  851. data/lib/tasks/cucumber.rake +65 -0
  852. metadata +1104 -0
@@ -0,0 +1,5 @@
1
+ /* jquery.sparkline 2.1.1 - http://omnipotent.net/jquery.sparkline/
2
+ ** Licensed under the New BSD License - see above site for details */
3
+
4
+ (function(a){typeof define=="function"&&define.amd?define(["jquery"],a):a(jQuery)})(function(a){"use strict";var b={},c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I=0;c=function(){return{common:{type:"line",lineColor:"#00f",fillColor:"#cdf",defaultPixelsPerValue:3,width:"auto",height:"auto",composite:!1,tagValuesAttribute:"values",tagOptionsPrefix:"spark",enableTagOptions:!1,enableHighlight:!0,highlightLighten:1.4,tooltipSkipNull:!0,tooltipPrefix:"",tooltipSuffix:"",disableHiddenCheck:!1,numberFormatter:!1,numberDigitGroupCount:3,numberDigitGroupSep:",",numberDecimalMark:".",disableTooltips:!1,disableInteraction:!1},line:{spotColor:"#f80",highlightSpotColor:"#5f5",highlightLineColor:"#f22",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",lineWidth:1,normalRangeMin:undefined,normalRangeMax:undefined,normalRangeColor:"#ccc",drawNormalOnTop:!1,chartRangeMin:undefined,chartRangeMax:undefined,chartRangeMinX:undefined,chartRangeMaxX:undefined,tooltipFormat:new e('<span style="color: {{color}}">&#9679;</span> {{prefix}}{{y}}{{suffix}}')},bar:{barColor:"#3366cc",negBarColor:"#f44",stackedBarColor:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],zeroColor:undefined,nullColor:undefined,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMax:undefined,chartRangeMin:undefined,chartRangeClip:!1,colorMap:undefined,tooltipFormat:new e('<span style="color: {{color}}">&#9679;</span> {{prefix}}{{value}}{{suffix}}')},tristate:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{},tooltipFormat:new e('<span style="color: {{color}}">&#9679;</span> {{value:map}}'),tooltipValueLookups:{map:{"-1":"Loss",0:"Draw",1:"Win"}}},discrete:{lineHeight:"auto",thresholdColor:undefined,thresholdValue:0,chartRangeMax:undefined,chartRangeMin:undefined,chartRangeClip:!1,tooltipFormat:new e("{{prefix}}{{value}}{{suffix}}")},bullet:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:undefined,tooltipFormat:new e("{{fieldkey:fields}} - {{value}}"),tooltipValueLookups:{fields:{r:"Range",p:"Performance",t:"Target"}}},pie:{offset:0,sliceColors:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],borderWidth:0,borderColor:"#000",tooltipFormat:new e('<span style="color: {{color}}">&#9679;</span> {{value}} ({{percent.1}}%)')},box:{raw:!1,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:undefined,targetColor:"#4a2",chartRangeMax:undefined,chartRangeMin:undefined,tooltipFormat:new e("{{field:fields}}: {{value}}"),tooltipFormatFieldlistKey:"field",tooltipValueLookups:{fields:{lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"}}}}},B='.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}',d=function(){var b,c;return b=function(){this.init.apply(this,arguments)},arguments.length>1?(arguments[0]?(b.prototype=a.extend(new arguments[0],arguments[arguments.length-1]),b._super=arguments[0].prototype):b.prototype=arguments[arguments.length-1],arguments.length>2&&(c=Array.prototype.slice.call(arguments,1,-1),c.unshift(b.prototype),a.extend.apply(a,c))):b.prototype=arguments[0],b.prototype.cls=b,b},a.SPFormatClass=e=d({fre:/\{\{([\w.]+?)(:(.+?))?\}\}/g,precre:/(\w+)\.(\d+)/,init:function(a,b){this.format=a,this.fclass=b},render:function(a,b,c){var d=this,e=a,f,g,h,i,j;return this.format.replace(this.fre,function(){var a;return g=arguments[1],h=arguments[3],f=d.precre.exec(g),f?(j=f[2],g=f[1]):j=!1,i=e[g],i===undefined?"":h&&b&&b[h]?(a=b[h],a.get?b[h].get(i)||i:b[h][i]||i):(k(i)&&(c.get("numberFormatter")?i=c.get("numberFormatter")(i):i=p(i,j,c.get("numberDigitGroupCount"),c.get("numberDigitGroupSep"),c.get("numberDecimalMark"))),i)})}}),a.spformat=function(a,b){return new e(a,b)},f=function(a,b,c){return a<b?b:a>c?c:a},g=function(a,b){var c;return b===2?(c=Math.floor(a.length/2),a.length%2?a[c]:(a[c-1]+a[c])/2):a.length%2?(c=(a.length*b+b)/4,c%1?(a[Math.floor(c)]+a[Math.floor(c)-1])/2:a[c-1]):(c=(a.length*b+2)/4,c%1?(a[Math.floor(c)]+a[Math.floor(c)-1])/2:a[c-1])},h=function(a){var b;switch(a){case"undefined":a=undefined;break;case"null":a=null;break;case"true":a=!0;break;case"false":a=!1;break;default:b=parseFloat(a),a==b&&(a=b)}return a},i=function(a){var b,c=[];for(b=a.length;b--;)c[b]=h(a[b]);return c},j=function(a,b){var c,d,e=[];for(c=0,d=a.length;c<d;c++)a[c]!==b&&e.push(a[c]);return e},k=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},p=function(b,c,d,e,f){var g,h;b=(c===!1?parseFloat(b).toString():b.toFixed(c)).split(""),g=(g=a.inArray(".",b))<0?b.length:g,g<b.length&&(b[g]=f);for(h=g-d;h>0;h-=d)b.splice(h,0,e);return b.join("")},l=function(a,b,c){var d;for(d=b.length;d--;){if(c&&b[d]===null)continue;if(b[d]!==a)return!1}return!0},m=function(a){var b=0,c;for(c=a.length;c--;)b+=typeof a[c]=="number"?a[c]:0;return b},o=function(b){return a.isArray(b)?b:[b]},n=function(a){var b;document.createStyleSheet?document.createStyleSheet().cssText=a:(b=document.createElement("style"),b.type="text/css",document.getElementsByTagName("head")[0].appendChild(b),b[typeof document.body.style.WebkitAppearance=="string"?"innerText":"innerHTML"]=a)},a.fn.simpledraw=function(b,c,d,e){var f,g;if(d&&(f=this.data("_jqs_vcanvas")))return f;b===undefined&&(b=a(this).innerWidth()),c===undefined&&(c=a(this).innerHeight());if(a.fn.sparkline.hasCanvas)f=new F(b,c,this,e);else{if(!a.fn.sparkline.hasVML)return!1;f=new G(b,c,this)}return g=a(this).data("_jqs_mhandler"),g&&g.registerCanvas(f),f},a.fn.cleardraw=function(){var a=this.data("_jqs_vcanvas");a&&a.reset()},a.RangeMapClass=q=d({init:function(a){var b,c,d=[];for(b in a)a.hasOwnProperty(b)&&typeof b=="string"&&b.indexOf(":")>-1&&(c=b.split(":"),c[0]=c[0].length===0?-Infinity:parseFloat(c[0]),c[1]=c[1].length===0?Infinity:parseFloat(c[1]),c[2]=a[b],d.push(c));this.map=a,this.rangelist=d||!1},get:function(a){var b=this.rangelist,c,d,e;if((e=this.map[a])!==undefined)return e;if(b)for(c=b.length;c--;){d=b[c];if(d[0]<=a&&d[1]>=a)return d[2]}return undefined}}),a.range_map=function(a){return new q(a)},r=d({init:function(b,c){var d=a(b);this.$el=d,this.options=c,this.currentPageX=0,this.currentPageY=0,this.el=b,this.splist=[],this.tooltip=null,this.over=!1,this.displayTooltips=!c.get("disableTooltips"),this.highlightEnabled=!c.get("disableHighlight")},registerSparkline:function(a){this.splist.push(a),this.over&&this.updateDisplay()},registerCanvas:function(b){var c=a(b.canvas);this.canvas=b,this.$canvas=c,c.mouseenter(a.proxy(this.mouseenter,this)),c.mouseleave(a.proxy(this.mouseleave,this)),c.click(a.proxy(this.mouseclick,this))},reset:function(a){this.splist=[],this.tooltip&&a&&(this.tooltip.remove(),this.tooltip=undefined)},mouseclick:function(b){var c=a.Event("sparklineClick");c.originalEvent=b,c.sparklines=this.splist,this.$el.trigger(c)},mouseenter:function(b){a(document.body).unbind("mousemove.jqs"),a(document.body).bind("mousemove.jqs",a.proxy(this.mousemove,this)),this.over=!0,this.currentPageX=b.pageX,this.currentPageY=b.pageY,this.currentEl=b.target,!this.tooltip&&this.displayTooltips&&(this.tooltip=new s(this.options),this.tooltip.updatePosition(b.pageX,b.pageY)),this.updateDisplay()},mouseleave:function(){a(document.body).unbind("mousemove.jqs");var b=this.splist,c=b.length,d=!1,e,f;this.over=!1,this.currentEl=null,this.tooltip&&(this.tooltip.remove(),this.tooltip=null);for(f=0;f<c;f++)e=b[f],e.clearRegionHighlight()&&(d=!0);d&&this.canvas.render()},mousemove:function(a){this.currentPageX=a.pageX,this.currentPageY=a.pageY,this.currentEl=a.target,this.tooltip&&this.tooltip.updatePosition(a.pageX,a.pageY),this.updateDisplay()},updateDisplay:function(){var b=this.splist,c=b.length,d=!1,e=this.$canvas.offset(),f=this.currentPageX-e.left,g=this.currentPageY-e.top,h,i,j,k,l;if(!this.over)return;for(j=0;j<c;j++)i=b[j],k=i.setRegionHighlight(this.currentEl,f,g),k&&(d=!0);if(d){l=a.Event("sparklineRegionChange"),l.sparklines=this.splist,this.$el.trigger(l);if(this.tooltip){h="";for(j=0;j<c;j++)i=b[j],h+=i.getCurrentRegionTooltip();this.tooltip.setContent(h)}this.disableHighlight||this.canvas.render()}k===null&&this.mouseleave()}}),s=d({sizeStyle:"position: static !important;display: block !important;visibility: hidden !important;float: left !important;",init:function(b){var c=b.get("tooltipClassname","jqstooltip"),d=this.sizeStyle,e;this.container=b.get("tooltipContainer")||document.body,this.tooltipOffsetX=b.get("tooltipOffsetX",10),this.tooltipOffsetY=b.get("tooltipOffsetY",12),a("#jqssizetip").remove(),a("#jqstooltip").remove(),this.sizetip=a("<div/>",{id:"jqssizetip",style:d,"class":c}),this.tooltip=a("<div/>",{id:"jqstooltip","class":c}).appendTo(this.container),e=this.tooltip.offset(),this.offsetLeft=e.left,this.offsetTop=e.top,this.hidden=!0,a(window).unbind("resize.jqs scroll.jqs"),a(window).bind("resize.jqs scroll.jqs",a.proxy(this.updateWindowDims,this)),this.updateWindowDims()},updateWindowDims:function(){this.scrollTop=a(window).scrollTop(),this.scrollLeft=a(window).scrollLeft(),this.scrollRight=this.scrollLeft+a(window).width(),this.updatePosition()},getSize:function(a){this.sizetip.html(a).appendTo(this.container),this.width=this.sizetip.width()+1,this.height=this.sizetip.height(),this.sizetip.remove()},setContent:function(a){if(!a){this.tooltip.css("visibility","hidden"),this.hidden=!0;return}this.getSize(a),this.tooltip.html(a).css({width:this.width,height:this.height,visibility:"visible"}),this.hidden&&(this.hidden=!1,this.updatePosition())},updatePosition:function(a,b){if(a===undefined){if(this.mousex===undefined)return;a=this.mousex-this.offsetLeft,b=this.mousey-this.offsetTop}else this.mousex=a-=this.offsetLeft,this.mousey=b-=this.offsetTop;if(!this.height||!this.width||this.hidden)return;b-=this.height+this.tooltipOffsetY,a+=this.tooltipOffsetX,b<this.scrollTop&&(b=this.scrollTop),a<this.scrollLeft?a=this.scrollLeft:a+this.width>this.scrollRight&&(a=this.scrollRight-this.width),this.tooltip.css({left:a,top:b})},remove:function(){this.tooltip.remove(),this.sizetip.remove(),this.sizetip=this.tooltip=undefined,a(window).unbind("resize.jqs scroll.jqs")}}),C=function(){n(B)},a(C),H=[],a.fn.sparkline=function(b,c){return this.each(function(){var d=new a.fn.sparkline.options(this,c),e=a(this),f,g;f=function(){var c,f,g,h,i,j,k;if(b==="html"||b===undefined){k=this.getAttribute(d.get("tagValuesAttribute"));if(k===undefined||k===null)k=e.html();c=k.replace(/(^\s*<!--)|(-->\s*$)|\s+/g,"").split(",")}else c=b;f=d.get("width")==="auto"?c.length*d.get("defaultPixelsPerValue"):d.get("width");if(d.get("height")==="auto"){if(!d.get("composite")||!a.data(this,"_jqs_vcanvas"))h=document.createElement("span"),h.innerHTML="a",e.html(h),g=a(h).innerHeight()||a(h).height(),a(h).remove(),h=null}else g=d.get("height");d.get("disableInteraction")?i=!1:(i=a.data(this,"_jqs_mhandler"),i?d.get("composite")||i.reset():(i=new r(this,d),a.data(this,"_jqs_mhandler",i)));if(d.get("composite")&&!a.data(this,"_jqs_vcanvas")){a.data(this,"_jqs_errnotify")||(alert("Attempted to attach a composite sparkline to an element with no existing sparkline"),a.data(this,"_jqs_errnotify",!0));return}j=new(a.fn.sparkline[d.get("type")])(this,c,d,f,g),j.render(),i&&i.registerSparkline(j)};if(a(this).html()&&!d.get("disableHiddenCheck")&&a(this).is(":hidden")||a.fn.jquery<"1.3.0"&&a(this).parents().is(":hidden")||!a(this).parents("body").length){if(!d.get("composite")&&a.data(this,"_jqs_pending"))for(g=H.length;g;g--)H[g-1][0]==this&&H.splice(g-1,1);H.push([this,f]),a.data(this,"_jqs_pending",!0)}else f.call(this)})},a.fn.sparkline.defaults=c(),a.sparkline_display_visible=function(){var b,c,d,e=[];for(c=0,d=H.length;c<d;c++)b=H[c][0],a(b).is(":visible")&&!a(b).parents().is(":hidden")?(H[c][1].call(b),a.data(H[c][0],"_jqs_pending",!1),e.push(c)):!a(b).closest("html").length&&!a.data(b,"_jqs_pending")&&(a.data(H[c][0],"_jqs_pending",!1),e.push(c));for(c=e.length;c;c--)H.splice(e[c-1],1)},a.fn.sparkline.options=d({init:function(c,d){var e,f,g,h;this.userOptions=d=d||{},this.tag=c,this.tagValCache={},f=a.fn.sparkline.defaults,g=f.common,this.tagOptionsPrefix=d.enableTagOptions&&(d.tagOptionsPrefix||g.tagOptionsPrefix),h=this.getTagSetting("type"),h===b?e=f[d.type||g.type]:e=f[h],this.mergedOptions=a.extend({},g,e,d)},getTagSetting:function(a){var c=this.tagOptionsPrefix,d,e,f,g;if(c===!1||c===undefined)return b;if(this.tagValCache.hasOwnProperty(a))d=this.tagValCache.key;else{d=this.tag.getAttribute(c+a);if(d===undefined||d===null)d=b;else if(d.substr(0,1)==="["){d=d.substr(1,d.length-2).split(",");for(e=d.length;e--;)d[e]=h(d[e].replace(/(^\s*)|(\s*$)/g,""))}else if(d.substr(0,1)==="{"){f=d.substr(1,d.length-2).split(","),d={};for(e=f.length;e--;)g=f[e].split(":",2),d[g[0].replace(/(^\s*)|(\s*$)/g,"")]=h(g[1].replace(/(^\s*)|(\s*$)/g,""))}else d=h(d);this.tagValCache.key=d}return d},get:function(a,c){var d=this.getTagSetting(a),e;return d!==b?d:(e=this.mergedOptions[a])===undefined?c:e}}),a.fn.sparkline._base=d({disabled:!1,init:function(b,c,d,e,f){this.el=b,this.$el=a(b),this.values=c,this.options=d,this.width=e,this.height=f,this.currentRegion=undefined},initTarget:function(){var a=!this.options.get("disableInteraction");(this.target=this.$el.simpledraw(this.width,this.height,this.options.get("composite"),a))?(this.canvasWidth=this.target.pixelWidth,this.canvasHeight=this.target.pixelHeight):this.disabled=!0},render:function(){return this.disabled?(this.el.innerHTML="",!1):!0},getRegion:function(a,b){},setRegionHighlight:function(a,b,c){var d=this.currentRegion,e=!this.options.get("disableHighlight"),f;return b>this.canvasWidth||c>this.canvasHeight||b<0||c<0?null:(f=this.getRegion(a,b,c),d!==f?(d!==undefined&&e&&this.removeHighlight(),this.currentRegion=f,f!==undefined&&e&&this.renderHighlight(),!0):!1)},clearRegionHighlight:function(){return this.currentRegion!==undefined?(this.removeHighlight(),this.currentRegion=undefined,!0):!1},renderHighlight:function(){this.changeHighlight(!0)},removeHighlight:function(){this.changeHighlight(!1)},changeHighlight:function(a){},getCurrentRegionTooltip:function(){var b=this.options,c="",d=[],f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(this.currentRegion===undefined)return"";f=this.getCurrentRegionFields(),p=b.get("tooltipFormatter");if(p)return p(this,b,f);b.get("tooltipChartTitle")&&(c+='<div class="jqs jqstitle">'+b.get("tooltipChartTitle")+"</div>\n"),g=this.options.get("tooltipFormat");if(!g)return"";a.isArray(g)||(g=[g]),a.isArray(f)||(f=[f]),l=this.options.get("tooltipFormatFieldlist"),m=this.options.get("tooltipFormatFieldlistKey");if(l&&m){n=[];for(k=f.length;k--;)o=f[k][m],(s=a.inArray(o,l))!=-1&&(n[s]=f[k]);f=n}h=g.length,r=f.length;for(k=0;k<h;k++){q=g[k],typeof q=="string"&&(q=new e(q)),i=q.fclass||"jqsfield";for(s=0;s<r;s++)if(!f[s].isNull||!b.get("tooltipSkipNull"))a.extend(f[s],{prefix:b.get("tooltipPrefix"),suffix:b.get("tooltipSuffix")}),j=q.render(f[s],b.get("tooltipValueLookups"),b),d.push('<div class="'+i+'">'+j+"</div>")}return d.length?c+d.join("\n"):""},getCurrentRegionFields:function(){},calcHighlightColor:function(a,b){var c=b.get("highlightColor"),d=b.get("highlightLighten"),e,g,h,i;if(c)return c;if(d){e=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a)||/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(a);if(e){h=[],g=a.length===4?16:1;for(i=0;i<3;i++)h[i]=f(Math.round(parseInt(e[i+1],16)*g*d),0,255);return"rgb("+h.join(",")+")"}}return a}}),t={changeHighlight:function(b){var c=this.currentRegion,d=this.target,e=this.regionShapes[c],f;e&&(f=this.renderRegion(c,b),a.isArray(f)||a.isArray(e)?(d.replaceWithShapes(e,f),this.regionShapes[c]=a.map(f,function(a){return a.id})):(d.replaceWithShape(e,f),this.regionShapes[c]=f.id))},render:function(){var b=this.values,c=this.target,d=this.regionShapes,e,f,g,h;if(!this.cls._super.render.call(this))return;for(g=b.length;g--;){e=this.renderRegion(g);if(e)if(a.isArray(e)){f=[];for(h=e.length;h--;)e[h].append(),f.push(e[h].id);d[g]=f}else e.append(),d[g]=e.id;else d[g]=null}c.render()}},a.fn.sparkline.line=u=d(a.fn.sparkline._base,{type:"line",init:function(a,b,c,d,e){u._super.init.call(this,a,b,c,d,e),this.vertices=[],this.regionMap=[],this.xvalues=[],this.yvalues=[],this.yminmax=[],this.hightlightSpotId=null,this.lastShapeId=null,this.initTarget()},getRegion:function(a,b,c){var d,e=this.regionMap;for(d=e.length;d--;)if(e[d]!==null&&b>=e[d][0]&&b<=e[d][1])return e[d][2];return undefined},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.yvalues[a]===null,x:this.xvalues[a],y:this.yvalues[a],color:this.options.get("lineColor"),fillColor:this.options.get("fillColor"),offset:a}},renderHighlight:function(){var a=this.currentRegion,b=this.target,c=this.vertices[a],d=this.options,e=d.get("spotRadius"),f=d.get("highlightSpotColor"),g=d.get("highlightLineColor"),h,i;if(!c)return;e&&f&&(h=b.drawCircle(c[0],c[1],e,undefined,f),this.highlightSpotId=h.id,b.insertAfterShape(this.lastShapeId,h)),g&&(i=b.drawLine(c[0],this.canvasTop,c[0],this.canvasTop+this.canvasHeight,g),this.highlightLineId=i.id,b.insertAfterShape(this.lastShapeId,i))},removeHighlight:function(){var a=this.target;this.highlightSpotId&&(a.removeShapeId(this.highlightSpotId),this.highlightSpotId=null),this.highlightLineId&&(a.removeShapeId(this.highlightLineId),this.highlightLineId=null)},scanValues:function(){var a=this.values,b=a.length,c=this.xvalues,d=this.yvalues,e=this.yminmax,f,g,h,i,j;for(f=0;f<b;f++)g=a[f],h=typeof a[f]=="string",i=typeof a[f]=="object"&&a[f]instanceof Array,j=h&&a[f].split(":"),h&&j.length===2?(c.push(Number(j[0])),d.push(Number(j[1])),e.push(Number(j[1]))):i?(c.push(g[0]),d.push(g[1]),e.push(g[1])):(c.push(f),a[f]===null||a[f]==="null"?d.push(null):(d.push(Number(g)),e.push(Number(g))));this.options.get("xvalues")&&(c=this.options.get("xvalues")),this.maxy=this.maxyorg=Math.max.apply(Math,e),this.miny=this.minyorg=Math.min.apply(Math,e),this.maxx=Math.max.apply(Math,c),this.minx=Math.min.apply(Math,c),this.xvalues=c,this.yvalues=d,this.yminmax=e},processRangeOptions:function(){var a=this.options,b=a.get("normalRangeMin"),c=a.get("normalRangeMax");b!==undefined&&(b<this.miny&&(this.miny=b),c>this.maxy&&(this.maxy=c)),a.get("chartRangeMin")!==undefined&&(a.get("chartRangeClip")||a.get("chartRangeMin")<this.miny)&&(this.miny=a.get("chartRangeMin")),a.get("chartRangeMax")!==undefined&&(a.get("chartRangeClip")||a.get("chartRangeMax")>this.maxy)&&(this.maxy=a.get("chartRangeMax")),a.get("chartRangeMinX")!==undefined&&(a.get("chartRangeClipX")||a.get("chartRangeMinX")<this.minx)&&(this.minx=a.get("chartRangeMinX")),a.get("chartRangeMaxX")!==undefined&&(a.get("chartRangeClipX")||a.get("chartRangeMaxX")>this.maxx)&&(this.maxx=a.get("chartRangeMaxX"))},drawNormalRange:function(a,b,c,d,e){var f=this.options.get("normalRangeMin"),g=this.options.get("normalRangeMax"),h=b+Math.round(c-c*((g-this.miny)/e)),i=Math.round(c*(g-f)/e);this.target.drawRect(a,h,d,i,undefined,this.options.get("normalRangeColor")).append()},render:function(){var b=this.options,c=this.target,d=this.canvasWidth,e=this.canvasHeight,f=this.vertices,g=b.get("spotRadius"),h=this.regionMap,i,j,k,l,m,n,o,p,r,s,t,v,w,x,y,z,A,B,C,D,E,F,G,H,I;if(!u._super.render.call(this))return;this.scanValues(),this.processRangeOptions(),G=this.xvalues,H=this.yvalues;if(!this.yminmax.length||this.yvalues.length<2)return;l=m=0,i=this.maxx-this.minx===0?1:this.maxx-this.minx,j=this.maxy-this.miny===0?1:this.maxy-this.miny,k=this.yvalues.length-1,g&&(d<g*4||e<g*4)&&(g=0);if(g){E=b.get("highlightSpotColor")&&!b.get("disableInteraction");if(E||b.get("minSpotColor")||b.get("spotColor")&&H[k]===this.miny)e-=Math.ceil(g);if(E||b.get("maxSpotColor")||b.get("spotColor")&&H[k]===this.maxy)e-=Math.ceil(g),l+=Math.ceil(g);if(E||(b.get("minSpotColor")||b.get("maxSpotColor"))&&(H[0]===this.miny||H[0]===this.maxy))m+=Math.ceil(g),d-=Math.ceil(g);if(E||b.get("spotColor")||b.get("minSpotColor")||b.get("maxSpotColor")&&(H[k]===this.miny||H[k]===this.maxy))d-=Math.ceil(g)}e--,b.get("normalRangeMin")!==undefined&&!b.get("drawNormalOnTop")&&this.drawNormalRange(m,l,e,d,j),o=[],p=[o],x=y=null,z=H.length;for(I=0;I<z;I++)r=G[I],t=G[I+1],s=H[I],v=m+Math.round((r-this.minx)*(d/i)),w=I<z-1?m+Math.round((t-this.minx)*(d/i)):d,y=v+(w-v)/2,h[I]=[x||0,y,I],x=y,s===null?I&&(H[I-1]!==null&&(o=[],p.push(o)),f.push(null)):(s<this.miny&&(s=this.miny),s>this.maxy&&(s=this.maxy),o.length||o.push([v,l+e]),n=[v,l+Math.round(e-e*((s-this.miny)/j))],o.push(n),f.push(n));A=[],B=[],C=p.length;for(I=0;I<C;I++)o=p[I],o.length&&(b.get("fillColor")&&(o.push([o[o.length-1][0],l+e]),B.push(o.slice(0)),o.pop()),o.length>2&&(o[0]=[o[0][0],o[1][1]]),A.push(o));C=B.length;for(I=0;I<C;I++)c.drawShape(B[I],b.get("fillColor"),b.get("fillColor")).append();b.get("normalRangeMin")!==undefined&&b.get("drawNormalOnTop")&&this.drawNormalRange(m,l,e,d,j),C=A.length;for(I=0;I<C;I++)c.drawShape(A[I],b.get("lineColor"),undefined,b.get("lineWidth")).append();if(g&&b.get("valueSpots")){D=b.get("valueSpots"),D.get===undefined&&(D=new q(D));for(I=0;I<z;I++)F=D.get(H[I]),F&&c.drawCircle(m+Math.round((G[I]-this.minx)*(d/i)),l+Math.round(e-e*((H[I]-this.miny)/j)),g,undefined,F).append()}g&&b.get("spotColor")&&H[k]!==null&&c.drawCircle(m+Math.round((G[G.length-1]-this.minx)*(d/i)),l+Math.round(e-e*((H[k]-this.miny)/j)),g,undefined,b.get("spotColor")).append(),this.maxy!==this.minyorg&&(g&&b.get("minSpotColor")&&(r=G[a.inArray(this.minyorg,H)],c.drawCircle(m+Math.round((r-this.minx)*(d/i)),l+Math.round(e-e*((this.minyorg-this.miny)/j)),g,undefined,b.get("minSpotColor")).append()),g&&b.get("maxSpotColor")&&(r=G[a.inArray(this.maxyorg,H)],c.drawCircle(m+Math.round((r-this.minx)*(d/i)),l+Math.round(e-e*((this.maxyorg-this.miny)/j)),g,undefined,b.get("maxSpotColor")).append())),this.lastShapeId=c.getLastShapeId(),this.canvasTop=l,c.render()}}),a.fn.sparkline.bar=v=d(a.fn.sparkline._base,t,{type:"bar",init:function(b,c,d,e,g){var k=parseInt(d.get("barWidth"),10),l=parseInt(d.get("barSpacing"),10),m=d.get("chartRangeMin"),n=d.get("chartRangeMax"),o=d.get("chartRangeClip"),p=Infinity,r=-Infinity,s,t,u,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P;v._super.init.call(this,b,c,d,e,g);for(y=0,z=c.length;y<z;y++){M=c[y],s=typeof M=="string"&&M.indexOf(":")>-1;if(s||a.isArray(M))H=!0,s&&(M=c[y]=i(M.split(":"))),M=j(M,null),t=Math.min.apply(Math,M),u=Math.max.apply(Math,M),t<p&&(p=t),u>r&&(r=u)}this.stacked=H,this.regionShapes={},this.barWidth=k,this.barSpacing=l,this.totalBarWidth=k+l,this.width=e=c.length*k+(c.length-1)*l,this.initTarget(),o&&(F=m===undefined?-Infinity:m,G=n===undefined?Infinity:n),x=[],w=H?[]:x;var Q=[],R=[];for(y=0,z=c.length;y<z;y++)if(H){I=c[y],c[y]=L=[],Q[y]=0,w[y]=R[y]=0;for(J=0,K=I.length;J<K;J++)M=L[J]=o?f(I[J],F,G):I[J],M!==null&&(M>0&&(Q[y]+=M),p<0&&r>0?M<0?R[y]+=Math.abs(M):w[y]+=M:w[y]+=Math.abs(M-(M<0?r:p)),x.push(M))}else M=o?f(c[y],F,G):c[y],M=c[y]=h(M),M!==null&&x.push(M);this.max=E=Math.max.apply(Math,x),this.min=D=Math.min.apply(Math,x),this.stackMax=r=H?Math.max.apply(Math,Q):E,this.stackMin=p=H?Math.min.apply(Math,x):D,d.get("chartRangeMin")!==undefined&&(d.get("chartRangeClip")||d.get("chartRangeMin")<D)&&(D=d.get("chartRangeMin")),d.get("chartRangeMax")!==undefined&&(d.get("chartRangeClip")||d.get("chartRangeMax")>E)&&(E=d.get("chartRangeMax")),this.zeroAxis=B=d.get("zeroAxis",!0),D<=0&&E>=0&&B?C=0:B==0?C=D:D>0?C=D:C=E,this.xaxisOffset=C,A=H?Math.max.apply(Math,w)+Math.max.apply(Math,R):E-D,this.canvasHeightEf=B&&D<0?this.canvasHeight-2:this.canvasHeight-1,D<C?(O=H&&E>=0?r:E,N=(O-C)/A*this.canvasHeight,N!==Math.ceil(N)&&(this.canvasHeightEf-=2,N=Math.ceil(N))):N=this.canvasHeight,this.yoffset=N,a.isArray(d.get("colorMap"))?(this.colorMapByIndex=d.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=d.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===undefined&&(this.colorMapByValue=new q(this.colorMapByValue))),this.range=A},getRegion:function(a,b,c){var d=Math.floor(b/this.totalBarWidth);return d<0||d>=this.values.length?undefined:d},getCurrentRegionFields:function(){var a=this.currentRegion,b=o(this.values[a]),c=[],d,e;for(e=b.length;e--;)d=b[e],c.push({isNull:d===null,value:d,color:this.calcColor(e,d,a),offset:a});return c},calcColor:function(b,c,d){var e=this.colorMapByIndex,f=this.colorMapByValue,g=this.options,h,i;return this.stacked?h=g.get("stackedBarColor"):h=c<0?g.get("negBarColor"):g.get("barColor"),c===0&&g.get("zeroColor")!==undefined&&(h=g.get("zeroColor")),f&&(i=f.get(c))?h=i:e&&e.length>d&&(h=e[d]),a.isArray(h)?h[b%h.length]:h},renderRegion:function(b,c){var d=this.values[b],e=this.options,f=this.xaxisOffset,g=[],h=this.range,i=this.stacked,j=this.target,k=b*this.totalBarWidth,m=this.canvasHeightEf,n=this.yoffset,o,p,q,r,s,t,u,v,w,x;d=a.isArray(d)?d:[d],u=d.length,v=d[0],r=l(null,d),x=l(f,d,!0);if(r)return e.get("nullColor")?(q=c?e.get("nullColor"):this.calcHighlightColor(e.get("nullColor"),e),o=n>0?n-1:n,j.drawRect(k,o,this.barWidth-1,0,q,q)):undefined;s=n;for(t=0;t<u;t++){v=d[t];if(i&&v===f){if(!x||w)continue;w=!0}h>0?p=Math.floor(m*(Math.abs(v-f)/h))+1:p=1,v<f||v===f&&n===0?(o=s,s+=p):(o=n-p,n-=p),q=this.calcColor(t,v,b),c&&(q=this.calcHighlightColor(q,e)),g.push(j.drawRect(k,o,this.barWidth-1,p-1,q,q))}return g.length===1?g[0]:g}}),a.fn.sparkline.tristate=w=d(a.fn.sparkline._base,t,{type:"tristate",init:function(b,c,d,e,f){var g=parseInt(d.get("barWidth"),10),h=parseInt(d.get("barSpacing"),10);w._super.init.call(this,b,c,d,e,f),this.regionShapes={},this.barWidth=g,this.barSpacing=h,this.totalBarWidth=g+h,this.values=a.map(c,Number),this.width=e=c.length*g+(c.length-1)*h,a.isArray(d.get("colorMap"))?(this.colorMapByIndex=d.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=d.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===undefined&&(this.colorMapByValue=new q(this.colorMapByValue))),this.initTarget()},getRegion:function(a,b,c){return Math.floor(b/this.totalBarWidth)},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===undefined,value:this.values[a],color:this.calcColor(this.values[a],a),offset:a}},calcColor:function(a,b){var c=this.values,d=this.options,e=this.colorMapByIndex,f=this.colorMapByValue,g,h;return f&&(h=f.get(a))?g=h:e&&e.length>b?g=e[b]:c[b]<0?g=d.get("negBarColor"):c[b]>0?g=d.get("posBarColor"):g=d.get("zeroBarColor"),g},renderRegion:function(a,b){var c=this.values,d=this.options,e=this.target,f,g,h,i,j,k;f=e.pixelHeight,h=Math.round(f/2),i=a*this.totalBarWidth,c[a]<0?(j=h,g=h-1):c[a]>0?(j=0,g=h-1):(j=h-1,g=2),k=this.calcColor(c[a],a);if(k===null)return;return b&&(k=this.calcHighlightColor(k,d)),e.drawRect(i,j,this.barWidth-1,g-1,k,k)}}),a.fn.sparkline.discrete=x=d(a.fn.sparkline._base,t,{type:"discrete",init:function(b,c,d,e,f){x._super.init.call(this,b,c,d,e,f),this.regionShapes={},this.values=c=a.map(c,Number),this.min=Math.min.apply(Math,c),this.max=Math.max.apply(Math,c),this.range=this.max-this.min,this.width=e=d.get("width")==="auto"?c.length*2:this.width,this.interval=Math.floor(e/c.length),this.itemWidth=e/c.length,d.get("chartRangeMin")!==undefined&&(d.get("chartRangeClip")||d.get("chartRangeMin")<this.min)&&(this.min=d.get("chartRangeMin")),d.get("chartRangeMax")!==undefined&&(d.get("chartRangeClip")||d.get("chartRangeMax")>this.max)&&(this.max=d.get("chartRangeMax")),this.initTarget(),this.target&&(this.lineHeight=d.get("lineHeight")==="auto"?Math.round(this.canvasHeight*.3):d.get("lineHeight"))},getRegion:function(a,b,c){return Math.floor(b/this.itemWidth)},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===undefined,value:this.values[a],offset:a}},renderRegion:function(a,b){var c=this.values,d=this.options,e=this.min,g=this.max,h=this.range,i=this.interval,j=this.target,k=this.canvasHeight,l=this.lineHeight,m=k-l,n,o,p,q;return o=f(c[a],e,g),q=a*i,n=Math.round(m-m*((o-e)/h)),p=d.get("thresholdColor")&&o<d.get("thresholdValue")?d.get("thresholdColor"):d.get("lineColor"),b&&(p=this.calcHighlightColor(p,d)),j.drawLine(q,n,q,n+l,p)}}),a.fn.sparkline.bullet=y=d(a.fn.sparkline._base,{type:"bullet",init:function(a,b,c,d,e){var f,g,h;y._super.init.call(this,a,b,c,d,e),this.values=b=i(b),h=b.slice(),h[0]=h[0]===null?h[2]:h[0],h[1]=b[1]===null?h[2]:h[1],f=Math.min.apply(Math,b),g=Math.max.apply(Math,b),c.get("base")===undefined?f=f<0?f:0:f=c.get("base"),this.min=f,this.max=g,this.range=g-f,this.shapes={},this.valueShapes={},this.regiondata={},this.width=d=c.get("width")==="auto"?"4.0em":d,this.target=this.$el.simpledraw(d,e,c.get("composite")),b.length||(this.disabled=!0),this.initTarget()},getRegion:function(a,b,c){var d=this.target.getShapeAt(a,b,c);return d!==undefined&&this.shapes[d]!==undefined?this.shapes[d]:undefined},getCurrentRegionFields:function(){var a=this.currentRegion;return{fieldkey:a.substr(0,1),value:this.values[a.substr(1)],region:a}},changeHighlight:function(a){var b=this.currentRegion,c=this.valueShapes[b],d;delete this.shapes[c];switch(b.substr(0,1)){case"r":d=this.renderRange(b.substr(1),a);break;case"p":d=this.renderPerformance(a);break;case"t":d=this.renderTarget(a)}this.valueShapes[b]=d.id,this.shapes[d.id]=b,this.target.replaceWithShape(c,d)},renderRange:function(a,b){var c=this.values[a],d=Math.round(this.canvasWidth*((c-this.min)/this.range)),e=this.options.get("rangeColors")[a-2];return b&&(e=this.calcHighlightColor(e,this.options)),this.target.drawRect(0,0,d-1,this.canvasHeight-1,e,e)},renderPerformance:function(a){var b=this.values[1],c=Math.round(this.canvasWidth*((b-this.min)/this.range)),d=this.options.get("performanceColor");return a&&(d=this.calcHighlightColor(d,this.options)),this.target.drawRect(0,Math.round(this.canvasHeight*.3),c-1,Math.round(this.canvasHeight*.4)-1,d,d)},renderTarget:function(a){var b=this.values[0],c=Math.round(this.canvasWidth*((b-this.min)/this.range)-this.options.get("targetWidth")/2),d=Math.round(this.canvasHeight*.1),e=this.canvasHeight-d*2,f=this.options.get("targetColor");return a&&(f=this.calcHighlightColor(f,this.options)),this.target.drawRect(c,d,this.options.get("targetWidth")-1,e-1,f,f)},render:function(){var a=this.values.length,b=this.target,c,d;if(!y._super.render.call(this))return;for(c=2;c<a;c++)d=this.renderRange(c).append(),this.shapes[d.id]="r"+c,this.valueShapes["r"+c]=d.id;this.values[1]!==null&&(d=this.renderPerformance().append(),this.shapes[d.id]="p1",this.valueShapes.p1=d.id),this.values[0]!==null&&(d=this.renderTarget().append(),this.shapes[d.id]="t0",this.valueShapes.t0=d.id),b.render()}}),a.fn.sparkline.pie=z=d(a.fn.sparkline._base,{type:"pie",init:function(b,c,d,e,f){var g=0,h;z._super.init.call(this,b,c,d,e,f),this.shapes={},this.valueShapes={},this.values=c=a.map(c,Number),d.get("width")==="auto"&&(this.width=this.height);if(c.length>0)for(h=c.length;h--;)g+=c[h];this.total=g,this.initTarget(),this.radius=Math.floor(Math.min(this.canvasWidth,this.canvasHeight)/2)},getRegion:function(a,b,c){var d=this.target.getShapeAt(a,b,c);return d!==undefined&&this.shapes[d]!==undefined?this.shapes[d]:undefined},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===undefined,value:this.values[a],percent:this.values[a]/this.total*100,color:this.options.get("sliceColors")[a%this.options.get("sliceColors").length],offset:a}},changeHighlight:function(a){var b=this.currentRegion,c=this.renderSlice(b,a),d=this.valueShapes[b];delete this.shapes[d],this.target.replaceWithShape(d,c),this.valueShapes[b]=c.id,this.shapes[c.id]=b},renderSlice:function(a,b){var c=this.target,d=this.options,e=this.radius,f=d.get("borderWidth"),g=d.get("offset"),h=2*Math.PI,i=this.values,j=this.total,k=g?2*Math.PI*(g/360):0,l,m,n,o,p;o=i.length;for(n=0;n<o;n++){l=k,m=k,j>0&&(m=k+h*(i[n]/j));if(a===n)return p=d.get("sliceColors")[n%d.get("sliceColors").length],b&&(p=this.calcHighlightColor(p,d)),c.drawPieSlice(e,e,e-f,l,m,undefined,p);k=m}},render:function(){var a=this.target,b=this.values,c=this.options,d=this.radius,e=c.get("borderWidth"),f,g;if(!z._super.
5
+ render.call(this))return;e&&a.drawCircle(d,d,Math.floor(d-e/2),c.get("borderColor"),undefined,e).append();for(g=b.length;g--;)b[g]&&(f=this.renderSlice(g).append(),this.valueShapes[g]=f.id,this.shapes[f.id]=g);a.render()}}),a.fn.sparkline.box=A=d(a.fn.sparkline._base,{type:"box",init:function(b,c,d,e,f){A._super.init.call(this,b,c,d,e,f),this.values=a.map(c,Number),this.width=d.get("width")==="auto"?"4.0em":e,this.initTarget(),this.values.length||(this.disabled=1)},getRegion:function(){return 1},getCurrentRegionFields:function(){var a=[{field:"lq",value:this.quartiles[0]},{field:"med",value:this.quartiles[1]},{field:"uq",value:this.quartiles[2]}];return this.loutlier!==undefined&&a.push({field:"lo",value:this.loutlier}),this.routlier!==undefined&&a.push({field:"ro",value:this.routlier}),this.lwhisker!==undefined&&a.push({field:"lw",value:this.lwhisker}),this.rwhisker!==undefined&&a.push({field:"rw",value:this.rwhisker}),a},render:function(){var a=this.target,b=this.values,c=b.length,d=this.options,e=this.canvasWidth,f=this.canvasHeight,h=d.get("chartRangeMin")===undefined?Math.min.apply(Math,b):d.get("chartRangeMin"),i=d.get("chartRangeMax")===undefined?Math.max.apply(Math,b):d.get("chartRangeMax"),j=0,k,l,m,n,o,p,q,r,s,t,u;if(!A._super.render.call(this))return;if(d.get("raw"))d.get("showOutliers")&&b.length>5?(l=b[0],k=b[1],n=b[2],o=b[3],p=b[4],q=b[5],r=b[6]):(k=b[0],n=b[1],o=b[2],p=b[3],q=b[4]);else{b.sort(function(a,b){return a-b}),n=g(b,1),o=g(b,2),p=g(b,3),m=p-n;if(d.get("showOutliers")){k=q=undefined;for(s=0;s<c;s++)k===undefined&&b[s]>n-m*d.get("outlierIQR")&&(k=b[s]),b[s]<p+m*d.get("outlierIQR")&&(q=b[s]);l=b[0],r=b[c-1]}else k=b[0],q=b[c-1]}this.quartiles=[n,o,p],this.lwhisker=k,this.rwhisker=q,this.loutlier=l,this.routlier=r,u=e/(i-h+1),d.get("showOutliers")&&(j=Math.ceil(d.get("spotRadius")),e-=2*Math.ceil(d.get("spotRadius")),u=e/(i-h+1),l<k&&a.drawCircle((l-h)*u+j,f/2,d.get("spotRadius"),d.get("outlierLineColor"),d.get("outlierFillColor")).append(),r>q&&a.drawCircle((r-h)*u+j,f/2,d.get("spotRadius"),d.get("outlierLineColor"),d.get("outlierFillColor")).append()),a.drawRect(Math.round((n-h)*u+j),Math.round(f*.1),Math.round((p-n)*u),Math.round(f*.8),d.get("boxLineColor"),d.get("boxFillColor")).append(),a.drawLine(Math.round((k-h)*u+j),Math.round(f/2),Math.round((n-h)*u+j),Math.round(f/2),d.get("lineColor")).append(),a.drawLine(Math.round((k-h)*u+j),Math.round(f/4),Math.round((k-h)*u+j),Math.round(f-f/4),d.get("whiskerColor")).append(),a.drawLine(Math.round((q-h)*u+j),Math.round(f/2),Math.round((p-h)*u+j),Math.round(f/2),d.get("lineColor")).append(),a.drawLine(Math.round((q-h)*u+j),Math.round(f/4),Math.round((q-h)*u+j),Math.round(f-f/4),d.get("whiskerColor")).append(),a.drawLine(Math.round((o-h)*u+j),Math.round(f*.1),Math.round((o-h)*u+j),Math.round(f*.9),d.get("medianColor")).append(),d.get("target")&&(t=Math.ceil(d.get("spotRadius")),a.drawLine(Math.round((d.get("target")-h)*u+j),Math.round(f/2-t),Math.round((d.get("target")-h)*u+j),Math.round(f/2+t),d.get("targetColor")).append(),a.drawLine(Math.round((d.get("target")-h)*u+j-t),Math.round(f/2),Math.round((d.get("target")-h)*u+j+t),Math.round(f/2),d.get("targetColor")).append()),a.render()}}),function(){document.namespaces&&!document.namespaces.v?(a.fn.sparkline.hasVML=!0,document.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML")):a.fn.sparkline.hasVML=!1;var b=document.createElement("canvas");a.fn.sparkline.hasCanvas=!!b.getContext&&!!b.getContext("2d")}(),D=d({init:function(a,b,c,d){this.target=a,this.id=b,this.type=c,this.args=d},append:function(){return this.target.appendShape(this),this}}),E=d({_pxregex:/(\d+)(px)?\s*$/i,init:function(b,c,d){if(!b)return;this.width=b,this.height=c,this.target=d,this.lastShapeId=null,d[0]&&(d=d[0]),a.data(d,"_jqs_vcanvas",this)},drawLine:function(a,b,c,d,e,f){return this.drawShape([[a,b],[c,d]],e,f)},drawShape:function(a,b,c,d){return this._genShape("Shape",[a,b,c,d])},drawCircle:function(a,b,c,d,e,f){return this._genShape("Circle",[a,b,c,d,e,f])},drawPieSlice:function(a,b,c,d,e,f,g){return this._genShape("PieSlice",[a,b,c,d,e,f,g])},drawRect:function(a,b,c,d,e,f){return this._genShape("Rect",[a,b,c,d,e,f])},getElement:function(){return this.canvas},getLastShapeId:function(){return this.lastShapeId},reset:function(){alert("reset not implemented")},_insert:function(b,c){a(c).html(b)},_calculatePixelDims:function(b,c,d){var e;e=this._pxregex.exec(c),e?this.pixelHeight=e[1]:this.pixelHeight=a(d).height(),e=this._pxregex.exec(b),e?this.pixelWidth=e[1]:this.pixelWidth=a(d).width()},_genShape:function(a,b){var c=I++;return b.unshift(c),new D(this,c,a,b)},appendShape:function(a){alert("appendShape not implemented")},replaceWithShape:function(a,b){alert("replaceWithShape not implemented")},insertAfterShape:function(a,b){alert("insertAfterShape not implemented")},removeShapeId:function(a){alert("removeShapeId not implemented")},getShapeAt:function(a,b,c){alert("getShapeAt not implemented")},render:function(){alert("render not implemented")}}),F=d(E,{init:function(b,c,d,e){F._super.init.call(this,b,c,d),this.canvas=document.createElement("canvas"),d[0]&&(d=d[0]),a.data(d,"_jqs_vcanvas",this),a(this.canvas).css({display:"inline-block",width:b,height:c,verticalAlign:"top"}),this._insert(this.canvas,d),this._calculatePixelDims(b,c,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,this.interact=e,this.shapes={},this.shapeseq=[],this.currentTargetShapeId=undefined,a(this.canvas).css({width:this.pixelWidth,height:this.pixelHeight})},_getContext:function(a,b,c){var d=this.canvas.getContext("2d");return a!==undefined&&(d.strokeStyle=a),d.lineWidth=c===undefined?1:c,b!==undefined&&(d.fillStyle=b),d},reset:function(){var a=this._getContext();a.clearRect(0,0,this.pixelWidth,this.pixelHeight),this.shapes={},this.shapeseq=[],this.currentTargetShapeId=undefined},_drawShape:function(a,b,c,d,e){var f=this._getContext(c,d,e),g,h;f.beginPath(),f.moveTo(b[0][0]+.5,b[0][1]+.5);for(g=1,h=b.length;g<h;g++)f.lineTo(b[g][0]+.5,b[g][1]+.5);c!==undefined&&f.stroke(),d!==undefined&&f.fill(),this.targetX!==undefined&&this.targetY!==undefined&&f.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a)},_drawCircle:function(a,b,c,d,e,f,g){var h=this._getContext(e,f,g);h.beginPath(),h.arc(b,c,d,0,2*Math.PI,!1),this.targetX!==undefined&&this.targetY!==undefined&&h.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a),e!==undefined&&h.stroke(),f!==undefined&&h.fill()},_drawPieSlice:function(a,b,c,d,e,f,g,h){var i=this._getContext(g,h);i.beginPath(),i.moveTo(b,c),i.arc(b,c,d,e,f,!1),i.lineTo(b,c),i.closePath(),g!==undefined&&i.stroke(),h&&i.fill(),this.targetX!==undefined&&this.targetY!==undefined&&i.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a)},_drawRect:function(a,b,c,d,e,f,g){return this._drawShape(a,[[b,c],[b+d,c],[b+d,c+e],[b,c+e],[b,c]],f,g)},appendShape:function(a){return this.shapes[a.id]=a,this.shapeseq.push(a.id),this.lastShapeId=a.id,a.id},replaceWithShape:function(a,b){var c=this.shapeseq,d;this.shapes[b.id]=b;for(d=c.length;d--;)c[d]==a&&(c[d]=b.id);delete this.shapes[a]},replaceWithShapes:function(a,b){var c=this.shapeseq,d={},e,f,g;for(f=a.length;f--;)d[a[f]]=!0;for(f=c.length;f--;)e=c[f],d[e]&&(c.splice(f,1),delete this.shapes[e],g=f);for(f=b.length;f--;)c.splice(g,0,b[f].id),this.shapes[b[f].id]=b[f]},insertAfterShape:function(a,b){var c=this.shapeseq,d;for(d=c.length;d--;)if(c[d]===a){c.splice(d+1,0,b.id),this.shapes[b.id]=b;return}},removeShapeId:function(a){var b=this.shapeseq,c;for(c=b.length;c--;)if(b[c]===a){b.splice(c,1);break}delete this.shapes[a]},getShapeAt:function(a,b,c){return this.targetX=b,this.targetY=c,this.render(),this.currentTargetShapeId},render:function(){var a=this.shapeseq,b=this.shapes,c=a.length,d=this._getContext(),e,f,g;d.clearRect(0,0,this.pixelWidth,this.pixelHeight);for(g=0;g<c;g++)e=a[g],f=b[e],this["_draw"+f.type].apply(this,f.args);this.interact||(this.shapes={},this.shapeseq=[])}}),G=d(E,{init:function(b,c,d){var e;G._super.init.call(this,b,c,d),d[0]&&(d=d[0]),a.data(d,"_jqs_vcanvas",this),this.canvas=document.createElement("span"),a(this.canvas).css({display:"inline-block",position:"relative",overflow:"hidden",width:b,height:c,margin:"0px",padding:"0px",verticalAlign:"top"}),this._insert(this.canvas,d),this._calculatePixelDims(b,c,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,e='<v:group coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'"'+' style="position:absolute;top:0;left:0;width:'+this.pixelWidth+"px;height="+this.pixelHeight+'px;"></v:group>',this.canvas.insertAdjacentHTML("beforeEnd",e),this.group=a(this.canvas).children()[0],this.rendered=!1,this.prerender=""},_drawShape:function(a,b,c,d,e){var f=[],g,h,i,j,k,l,m;for(m=0,l=b.length;m<l;m++)f[m]=""+b[m][0]+","+b[m][1];return g=f.splice(0,1),e=e===undefined?1:e,h=c===undefined?' stroked="false" ':' strokeWeight="'+e+'px" strokeColor="'+c+'" ',i=d===undefined?' filled="false"':' fillColor="'+d+'" filled="true" ',j=f[0]===f[f.length-1]?"x ":"",k='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" '+' id="jqsshape'+a+'" '+h+i+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" '+' path="m '+g+" l "+f.join(", ")+" "+j+'e">'+" </v:shape>",k},_drawCircle:function(a,b,c,d,e,f,g){var h,i,j;return b-=d,c-=d,h=e===undefined?' stroked="false" ':' strokeWeight="'+g+'px" strokeColor="'+e+'" ',i=f===undefined?' filled="false"':' fillColor="'+f+'" filled="true" ',j='<v:oval id="jqsshape'+a+'" '+h+i+' style="position:absolute;top:'+c+"px; left:"+b+"px; width:"+d*2+"px; height:"+d*2+'px"></v:oval>',j},_drawPieSlice:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p;if(e===f)return"";f-e===2*Math.PI&&(e=0,f=2*Math.PI),j=b+Math.round(Math.cos(e)*d),k=c+Math.round(Math.sin(e)*d),l=b+Math.round(Math.cos(f)*d),m=c+Math.round(Math.sin(f)*d);if(j===l&&k===m){if(f-e<Math.PI)return"";j=l=b+d,k=m=c}return j===l&&k===m&&f-e<Math.PI?"":(i=[b-d,c-d,b+d,c+d,j,k,l,m],n=g===undefined?' stroked="false" ':' strokeWeight="1px" strokeColor="'+g+'" ',o=h===undefined?' filled="false"':' fillColor="'+h+'" filled="true" ',p='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" '+' id="jqsshape'+a+'" '+n+o+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" '+' path="m '+b+","+c+" wa "+i.join(", ")+' x e">'+" </v:shape>",p)},_drawRect:function(a,b,c,d,e,f,g){return this._drawShape(a,[[b,c],[b,c+e],[b+d,c+e],[b+d,c],[b,c]],f,g)},reset:function(){this.group.innerHTML=""},appendShape:function(a){var b=this["_draw"+a.type].apply(this,a.args);return this.rendered?this.group.insertAdjacentHTML("beforeEnd",b):this.prerender+=b,this.lastShapeId=a.id,a.id},replaceWithShape:function(b,c){var d=a("#jqsshape"+b),e=this["_draw"+c.type].apply(this,c.args);d[0].outerHTML=e},replaceWithShapes:function(b,c){var d=a("#jqsshape"+b[0]),e="",f=c.length,g;for(g=0;g<f;g++)e+=this["_draw"+c[g].type].apply(this,c[g].args);d[0].outerHTML=e;for(g=1;g<b.length;g++)a("#jqsshape"+b[g]).remove()},insertAfterShape:function(b,c){var d=a("#jqsshape"+b),e=this["_draw"+c.type].apply(this,c.args);d[0].insertAdjacentHTML("afterEnd",e)},removeShapeId:function(b){var c=a("#jqsshape"+b);this.group.removeChild(c[0])},getShapeAt:function(a,b,c){var d=a.id.substr(8);return d},render:function(){this.rendered||(this.group.innerHTML=this.prerender,this.rendered=!0)}})});
@@ -0,0 +1,117 @@
1
+ /* =========================================================
2
+ * bootstrap-tabdrop.js
3
+ * http://www.eyecon.ro/bootstrap-tabdrop
4
+ * =========================================================
5
+ * Copyright 2012 Stefan Petre
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ * ========================================================= */
19
+
20
+ !function( $ ) {
21
+
22
+ var WinReszier = (function(){
23
+ var registered = [];
24
+ var inited = false;
25
+ var timer;
26
+ var resize = function(ev) {
27
+ clearTimeout(timer);
28
+ timer = setTimeout(notify, 100);
29
+ };
30
+ var notify = function() {
31
+ for(var i=0, cnt=registered.length; i<cnt; i++) {
32
+ registered[i].apply();
33
+ }
34
+ };
35
+ return {
36
+ register: function(fn) {
37
+ registered.push(fn);
38
+ if (inited === false) {
39
+ $(window).bind('resize', resize);
40
+ inited = true;
41
+ }
42
+ },
43
+ unregister: function(fn) {
44
+ for(var i=0, cnt=registered.length; i<cnt; i++) {
45
+ if (registered[i] == fn) {
46
+ delete registered[i];
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }());
53
+
54
+ var TabDrop = function(element, options) {
55
+ this.element = $(element);
56
+ this.dropdown = $('<li class="dropdown hide pull-right tabdrop"><a class="dropdown-toggle" data-toggle="dropdown" href="#">'+options.text+' <b class="caret"></b></a><ul class="dropdown-menu"></ul></li>')
57
+ .prependTo(this.element);
58
+ if (this.element.parent().is('.tabs-below')) {
59
+ this.dropdown.addClass('dropup');
60
+ }
61
+ WinReszier.register($.proxy(this.layout, this));
62
+ this.layout();
63
+ };
64
+
65
+ TabDrop.prototype = {
66
+ constructor: TabDrop,
67
+
68
+ layout: function() {
69
+ var collection = [];
70
+ this.dropdown.removeClass('hide');
71
+ this.element
72
+ .append(this.dropdown.find('li'))
73
+ .find('>li')
74
+ .not('.tabdrop')
75
+ .each(function(){
76
+ if(this.offsetTop > 0) {
77
+ collection.push(this);
78
+ }
79
+ });
80
+ if (collection.length > 0) {
81
+ collection = $(collection);
82
+ this.dropdown
83
+ .find('ul')
84
+ .empty()
85
+ .append(collection);
86
+ if (this.dropdown.find('.active').length == 1) {
87
+ this.dropdown.addClass('active');
88
+ } else {
89
+ this.dropdown.removeClass('active');
90
+ }
91
+ } else {
92
+ this.dropdown.addClass('hide');
93
+ }
94
+ }
95
+ }
96
+
97
+ $.fn.tabdrop = function ( option ) {
98
+ return this.each(function () {
99
+ var $this = $(this),
100
+ data = $this.data('tabdrop'),
101
+ options = typeof option === 'object' && option;
102
+ if (!data) {
103
+ $this.data('tabdrop', (data = new TabDrop(this, $.extend({}, $.fn.tabdrop.defaults,options))));
104
+ }
105
+ if (typeof option == 'string') {
106
+ data[option]();
107
+ }
108
+ })
109
+ };
110
+
111
+ $.fn.tabdrop.defaults = {
112
+ text: '<i class="icon-align-justify"></i>'
113
+ };
114
+
115
+ $.fn.tabdrop.Constructor = TabDrop;
116
+
117
+ }( window.jQuery );
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Timeago is a jQuery plugin that makes it easy to support automatically
3
+ * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
4
+ *
5
+ * @name timeago
6
+ * @version 1.3.0
7
+ * @requires jQuery v1.2.3+
8
+ * @author Ryan McGeary
9
+ * @license MIT License - http://www.opensource.org/licenses/mit-license.php
10
+ *
11
+ * For usage and examples, visit:
12
+ * http://timeago.yarp.com/
13
+ *
14
+ * Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
15
+ */
16
+
17
+ (function (factory) {
18
+ if (typeof define === 'function' && define.amd) {
19
+ // AMD. Register as an anonymous module.
20
+ define(['jquery'], factory);
21
+ } else {
22
+ // Browser globals
23
+ factory(jQuery);
24
+ }
25
+ }(function ($) {
26
+ $.timeago = function(timestamp) {
27
+ if (timestamp instanceof Date) {
28
+ return inWords(timestamp);
29
+ } else if (typeof timestamp === "string") {
30
+ return inWords($.timeago.parse(timestamp));
31
+ } else if (typeof timestamp === "number") {
32
+ return inWords(new Date(timestamp));
33
+ } else {
34
+ return inWords($.timeago.datetime(timestamp));
35
+ }
36
+ };
37
+ var $t = $.timeago;
38
+
39
+ $.extend($.timeago, {
40
+ settings: {
41
+ refreshMillis: 60000,
42
+ allowFuture: false,
43
+ localeTitle: false,
44
+ cutoff: 0,
45
+ strings: {
46
+ prefixAgo: null,
47
+ prefixFromNow: null,
48
+ suffixAgo: "ago",
49
+ suffixFromNow: "from now",
50
+ seconds: "less than a minute",
51
+ minute: "about a minute",
52
+ minutes: "%d minutes",
53
+ hour: "about an hour",
54
+ hours: "about %d hours",
55
+ day: "a day",
56
+ days: "%d days",
57
+ month: "about a month",
58
+ months: "%d months",
59
+ year: "about a year",
60
+ years: "%d years",
61
+ wordSeparator: " ",
62
+ numbers: []
63
+ }
64
+ },
65
+ inWords: function(distanceMillis) {
66
+ var $l = this.settings.strings;
67
+ var prefix = $l.prefixAgo;
68
+ var suffix = $l.suffixAgo;
69
+ if (this.settings.allowFuture) {
70
+ if (distanceMillis < 0) {
71
+ prefix = $l.prefixFromNow;
72
+ suffix = $l.suffixFromNow;
73
+ }
74
+ }
75
+
76
+ var seconds = Math.abs(distanceMillis) / 1000;
77
+ var minutes = seconds / 60;
78
+ var hours = minutes / 60;
79
+ var days = hours / 24;
80
+ var years = days / 365;
81
+
82
+ function substitute(stringOrFunction, number) {
83
+ var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
84
+ var value = ($l.numbers && $l.numbers[number]) || number;
85
+ return string.replace(/%d/i, value);
86
+ }
87
+
88
+ var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
89
+ seconds < 90 && substitute($l.minute, 1) ||
90
+ minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
91
+ minutes < 90 && substitute($l.hour, 1) ||
92
+ hours < 24 && substitute($l.hours, Math.round(hours)) ||
93
+ hours < 42 && substitute($l.day, 1) ||
94
+ days < 30 && substitute($l.days, Math.round(days)) ||
95
+ days < 45 && substitute($l.month, 1) ||
96
+ days < 365 && substitute($l.months, Math.round(days / 30)) ||
97
+ years < 1.5 && substitute($l.year, 1) ||
98
+ substitute($l.years, Math.round(years));
99
+
100
+ var separator = $l.wordSeparator || "";
101
+ if ($l.wordSeparator === undefined) { separator = " "; }
102
+ return $.trim([prefix, words, suffix].join(separator));
103
+ },
104
+ parse: function(iso8601) {
105
+ var s = $.trim(iso8601);
106
+ s = s.replace(/\.\d+/,""); // remove milliseconds
107
+ s = s.replace(/-/,"/").replace(/-/,"/");
108
+ s = s.replace(/T/," ").replace(/Z/," UTC");
109
+ s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
110
+ return new Date(s);
111
+ },
112
+ datetime: function(elem) {
113
+ var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
114
+ return $t.parse(iso8601);
115
+ },
116
+ isTime: function(elem) {
117
+ // jQuery's `is()` doesn't play well with HTML5 in IE
118
+ return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
119
+ }
120
+ });
121
+
122
+ // functions that can be called via $(el).timeago('action')
123
+ // init is default when no action is given
124
+ // functions are called with context of a single element
125
+ var functions = {
126
+ init: function(){
127
+ var refresh_el = $.proxy(refresh, this);
128
+ refresh_el();
129
+ var $s = $t.settings;
130
+ if ($s.refreshMillis > 0) {
131
+ setInterval(refresh_el, $s.refreshMillis);
132
+ }
133
+ },
134
+ update: function(time){
135
+ $(this).data('timeago', { datetime: $t.parse(time) });
136
+ refresh.apply(this);
137
+ },
138
+ updateFromDOM: function(){
139
+ $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
140
+ refresh.apply(this);
141
+ }
142
+ };
143
+
144
+ $.fn.timeago = function(action, options) {
145
+ var fn = action ? functions[action] : functions.init;
146
+ if(!fn){
147
+ throw new Error("Unknown function name '"+ action +"' for timeago");
148
+ }
149
+ // each over objects here and call the requested function
150
+ this.each(function(){
151
+ fn.call(this, options);
152
+ });
153
+ return this;
154
+ };
155
+
156
+ function refresh() {
157
+ var data = prepareData(this);
158
+ var $s = $t.settings;
159
+
160
+ if (!isNaN(data.datetime)) {
161
+ if ( $s.cutoff == 0 || distance(data.datetime) < $s.cutoff) {
162
+ $(this).text(inWords(data.datetime));
163
+ }
164
+ }
165
+ return this;
166
+ }
167
+
168
+ function prepareData(element) {
169
+ element = $(element);
170
+ if (!element.data("timeago")) {
171
+ element.data("timeago", { datetime: $t.datetime(element) });
172
+ var text = $.trim(element.text());
173
+ if ($t.settings.localeTitle) {
174
+ element.attr("title", element.data('timeago').datetime.toLocaleString());
175
+ } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
176
+ element.attr("title", text);
177
+ }
178
+ }
179
+ return element.data("timeago");
180
+ }
181
+
182
+ function inWords(date) {
183
+ return $t.inWords(distance(date));
184
+ }
185
+
186
+ function distance(date) {
187
+ return (new Date().getTime() - date.getTime());
188
+ }
189
+
190
+ // fix for IE6 suckage
191
+ document.createElement("abbr");
192
+ document.createElement("time");
193
+ }));