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,750 @@
1
+ /*
2
+ Flot plugin for rendering pie charts. The plugin assumes the data is
3
+ coming is as a single data value for each series, and each of those
4
+ values is a positive value or zero (negative numbers don't make
5
+ any sense and will cause strange effects). The data values do
6
+ NOT need to be passed in as percentage values because it
7
+ internally calculates the total and percentages.
8
+
9
+ * Created by Brian Medendorp, June 2009
10
+ * Updated November 2009 with contributions from: btburnett3, Anthony Aragues and Xavi Ivars
11
+
12
+ * Changes:
13
+ 2009-10-22: lineJoin set to round
14
+ 2009-10-23: IE full circle fix, donut
15
+ 2009-11-11: Added basic hover from btburnett3 - does not work in IE, and center is off in Chrome and Opera
16
+ 2009-11-17: Added IE hover capability submitted by Anthony Aragues
17
+ 2009-11-18: Added bug fix submitted by Xavi Ivars (issues with arrays when other JS libraries are included as well)
18
+
19
+
20
+ Available options are:
21
+ series: {
22
+ pie: {
23
+ show: true/false
24
+ radius: 0-1 for percentage of fullsize, or a specified pixel length, or 'auto'
25
+ innerRadius: 0-1 for percentage of fullsize or a specified pixel length, for creating a donut effect
26
+ startAngle: 0-2 factor of PI used for starting angle (in radians) i.e 3/2 starts at the top, 0 and 2 have the same result
27
+ tilt: 0-1 for percentage to tilt the pie, where 1 is no tilt, and 0 is completely flat (nothing will show)
28
+ offset: {
29
+ top: integer value to move the pie up or down
30
+ left: integer value to move the pie left or right, or 'auto'
31
+ },
32
+ stroke: {
33
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#FFF')
34
+ width: integer pixel width of the stroke
35
+ },
36
+ label: {
37
+ show: true/false, or 'auto'
38
+ formatter: a user-defined function that modifies the text/style of the label text
39
+ radius: 0-1 for percentage of fullsize, or a specified pixel length
40
+ background: {
41
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#000')
42
+ opacity: 0-1
43
+ },
44
+ threshold: 0-1 for the percentage value at which to hide labels (if they're too small)
45
+ },
46
+ combine: {
47
+ threshold: 0-1 for the percentage value at which to combine slices (if they're too small)
48
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#CCC'), if null, the plugin will automatically use the color of the first slice to be combined
49
+ label: any text value of what the combined slice should be labeled
50
+ }
51
+ highlight: {
52
+ opacity: 0-1
53
+ }
54
+ }
55
+ }
56
+
57
+ More detail and specific examples can be found in the included HTML file.
58
+
59
+ */
60
+
61
+ (function ($)
62
+ {
63
+ function init(plot) // this is the "body" of the plugin
64
+ {
65
+ var canvas = null;
66
+ var target = null;
67
+ var maxRadius = null;
68
+ var centerLeft = null;
69
+ var centerTop = null;
70
+ var total = 0;
71
+ var redraw = true;
72
+ var redrawAttempts = 10;
73
+ var shrink = 0.95;
74
+ var legendWidth = 0;
75
+ var processed = false;
76
+ var raw = false;
77
+
78
+ // interactive variables
79
+ var highlights = [];
80
+
81
+ // add hook to determine if pie plugin in enabled, and then perform necessary operations
82
+ plot.hooks.processOptions.push(checkPieEnabled);
83
+ plot.hooks.bindEvents.push(bindEvents);
84
+
85
+ // check to see if the pie plugin is enabled
86
+ function checkPieEnabled(plot, options)
87
+ {
88
+ if (options.series.pie.show)
89
+ {
90
+ //disable grid
91
+ options.grid.show = false;
92
+
93
+ // set labels.show
94
+ if (options.series.pie.label.show=='auto')
95
+ if (options.legend.show)
96
+ options.series.pie.label.show = false;
97
+ else
98
+ options.series.pie.label.show = true;
99
+
100
+ // set radius
101
+ if (options.series.pie.radius=='auto')
102
+ if (options.series.pie.label.show)
103
+ options.series.pie.radius = 3/4;
104
+ else
105
+ options.series.pie.radius = 1;
106
+
107
+ // ensure sane tilt
108
+ if (options.series.pie.tilt>1)
109
+ options.series.pie.tilt=1;
110
+ if (options.series.pie.tilt<0)
111
+ options.series.pie.tilt=0;
112
+
113
+ // add processData hook to do transformations on the data
114
+ plot.hooks.processDatapoints.push(processDatapoints);
115
+ plot.hooks.drawOverlay.push(drawOverlay);
116
+
117
+ // add draw hook
118
+ plot.hooks.draw.push(draw);
119
+ }
120
+ }
121
+
122
+ // bind hoverable events
123
+ function bindEvents(plot, eventHolder)
124
+ {
125
+ var options = plot.getOptions();
126
+
127
+ if (options.series.pie.show && options.grid.hoverable)
128
+ eventHolder.unbind('mousemove').mousemove(onMouseMove);
129
+
130
+ if (options.series.pie.show && options.grid.clickable)
131
+ eventHolder.unbind('click').click(onClick);
132
+ }
133
+
134
+
135
+ // debugging function that prints out an object
136
+ function alertObject(obj)
137
+ {
138
+ var msg = '';
139
+ function traverse(obj, depth)
140
+ {
141
+ if (!depth)
142
+ depth = 0;
143
+ for (var i = 0; i < obj.length; ++i)
144
+ {
145
+ for (var j=0; j<depth; j++)
146
+ msg += '\t';
147
+
148
+ if( typeof obj[i] == "object")
149
+ { // its an object
150
+ msg += ''+i+':\n';
151
+ traverse(obj[i], depth+1);
152
+ }
153
+ else
154
+ { // its a value
155
+ msg += ''+i+': '+obj[i]+'\n';
156
+ }
157
+ }
158
+ }
159
+ traverse(obj);
160
+ alert(msg);
161
+ }
162
+
163
+ function calcTotal(data)
164
+ {
165
+ for (var i = 0; i < data.length; ++i)
166
+ {
167
+ var item = parseFloat(data[i].data[0][1]);
168
+ if (item)
169
+ total += item;
170
+ }
171
+ }
172
+
173
+ function processDatapoints(plot, series, data, datapoints)
174
+ {
175
+ if (!processed)
176
+ {
177
+ processed = true;
178
+
179
+ canvas = plot.getCanvas();
180
+ target = $(canvas).parent();
181
+ options = plot.getOptions();
182
+
183
+ plot.setData(combine(plot.getData()));
184
+ }
185
+ }
186
+
187
+ function setupPie()
188
+ {
189
+ legendWidth = target.children().filter('.legend').children().width();
190
+
191
+ // calculate maximum radius and center point
192
+ maxRadius = Math.min(canvas.width,(canvas.height/options.series.pie.tilt))/2;
193
+ centerTop = (canvas.height/2)+options.series.pie.offset.top;
194
+ centerLeft = (canvas.width/2);
195
+
196
+ if (options.series.pie.offset.left=='auto')
197
+ if (options.legend.position.match('w'))
198
+ centerLeft += legendWidth/2;
199
+ else
200
+ centerLeft -= legendWidth/2;
201
+ else
202
+ centerLeft += options.series.pie.offset.left;
203
+
204
+ if (centerLeft<maxRadius)
205
+ centerLeft = maxRadius;
206
+ else if (centerLeft>canvas.width-maxRadius)
207
+ centerLeft = canvas.width-maxRadius;
208
+ }
209
+
210
+ function fixData(data)
211
+ {
212
+ for (var i = 0; i < data.length; ++i)
213
+ {
214
+ if (typeof(data[i].data)=='number')
215
+ data[i].data = [[1,data[i].data]];
216
+ else if (typeof(data[i].data)=='undefined' || typeof(data[i].data[0])=='undefined')
217
+ {
218
+ if (typeof(data[i].data)!='undefined' && typeof(data[i].data.label)!='undefined')
219
+ data[i].label = data[i].data.label; // fix weirdness coming from flot
220
+ data[i].data = [[1,0]];
221
+
222
+ }
223
+ }
224
+ return data;
225
+ }
226
+
227
+ function combine(data)
228
+ {
229
+ data = fixData(data);
230
+ calcTotal(data);
231
+ var combined = 0;
232
+ var numCombined = 0;
233
+ var color = options.series.pie.combine.color;
234
+
235
+ var newdata = [];
236
+ for (var i = 0; i < data.length; ++i)
237
+ {
238
+ // make sure its a number
239
+ data[i].data[0][1] = parseFloat(data[i].data[0][1]);
240
+ if (!data[i].data[0][1])
241
+ data[i].data[0][1] = 0;
242
+
243
+ if (data[i].data[0][1]/total<=options.series.pie.combine.threshold)
244
+ {
245
+ combined += data[i].data[0][1];
246
+ numCombined++;
247
+ if (!color)
248
+ color = data[i].color;
249
+ }
250
+ else
251
+ {
252
+ newdata.push({
253
+ data: [[1,data[i].data[0][1]]],
254
+ color: data[i].color,
255
+ label: data[i].label,
256
+ angle: (data[i].data[0][1]*(Math.PI*2))/total,
257
+ percent: (data[i].data[0][1]/total*100)
258
+ });
259
+ }
260
+ }
261
+ if (numCombined>0)
262
+ newdata.push({
263
+ data: [[1,combined]],
264
+ color: color,
265
+ label: options.series.pie.combine.label,
266
+ angle: (combined*(Math.PI*2))/total,
267
+ percent: (combined/total*100)
268
+ });
269
+ return newdata;
270
+ }
271
+
272
+ function draw(plot, newCtx)
273
+ {
274
+ if (!target) return; // if no series were passed
275
+ ctx = newCtx;
276
+
277
+ setupPie();
278
+ var slices = plot.getData();
279
+
280
+ var attempts = 0;
281
+ while (redraw && attempts<redrawAttempts)
282
+ {
283
+ redraw = false;
284
+ if (attempts>0)
285
+ maxRadius *= shrink;
286
+ attempts += 1;
287
+ clear();
288
+ if (options.series.pie.tilt<=0.8)
289
+ drawShadow();
290
+ drawPie();
291
+ }
292
+ if (attempts >= redrawAttempts) {
293
+ clear();
294
+ target.prepend('<div class="error">Could not draw pie with labels contained inside canvas</div>');
295
+ }
296
+
297
+ if ( plot.setSeries && plot.insertLegend )
298
+ {
299
+ plot.setSeries(slices);
300
+ plot.insertLegend();
301
+ }
302
+
303
+ // we're actually done at this point, just defining internal functions at this point
304
+
305
+ function clear()
306
+ {
307
+ ctx.clearRect(0,0,canvas.width,canvas.height);
308
+ target.children().filter('.pieLabel, .pieLabelBackground').remove();
309
+ }
310
+
311
+ function drawShadow()
312
+ {
313
+ var shadowLeft = 5;
314
+ var shadowTop = 15;
315
+ var edge = 10;
316
+ var alpha = 0.02;
317
+
318
+ // set radius
319
+ if (options.series.pie.radius>1)
320
+ var radius = options.series.pie.radius;
321
+ else
322
+ var radius = maxRadius * options.series.pie.radius;
323
+
324
+ if (radius>=(canvas.width/2)-shadowLeft || radius*options.series.pie.tilt>=(canvas.height/2)-shadowTop || radius<=edge)
325
+ return; // shadow would be outside canvas, so don't draw it
326
+
327
+ ctx.save();
328
+ ctx.translate(shadowLeft,shadowTop);
329
+ ctx.globalAlpha = alpha;
330
+ ctx.fillStyle = '#000';
331
+
332
+ // center and rotate to starting position
333
+ ctx.translate(centerLeft,centerTop);
334
+ ctx.scale(1, options.series.pie.tilt);
335
+
336
+ //radius -= edge;
337
+ for (var i=1; i<=edge; i++)
338
+ {
339
+ ctx.beginPath();
340
+ ctx.arc(0,0,radius,0,Math.PI*2,false);
341
+ ctx.fill();
342
+ radius -= i;
343
+ }
344
+
345
+ ctx.restore();
346
+ }
347
+
348
+ function drawPie()
349
+ {
350
+ startAngle = Math.PI*options.series.pie.startAngle;
351
+
352
+ // set radius
353
+ if (options.series.pie.radius>1)
354
+ var radius = options.series.pie.radius;
355
+ else
356
+ var radius = maxRadius * options.series.pie.radius;
357
+
358
+ // center and rotate to starting position
359
+ ctx.save();
360
+ ctx.translate(centerLeft,centerTop);
361
+ ctx.scale(1, options.series.pie.tilt);
362
+ //ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera
363
+
364
+ // draw slices
365
+ ctx.save();
366
+ var currentAngle = startAngle;
367
+ for (var i = 0; i < slices.length; ++i)
368
+ {
369
+ slices[i].startAngle = currentAngle;
370
+ drawSlice(slices[i].angle, slices[i].color, true);
371
+ }
372
+ ctx.restore();
373
+
374
+ // draw slice outlines
375
+ ctx.save();
376
+ ctx.lineWidth = options.series.pie.stroke.width;
377
+ currentAngle = startAngle;
378
+ for (var i = 0; i < slices.length; ++i)
379
+ drawSlice(slices[i].angle, options.series.pie.stroke.color, false);
380
+ ctx.restore();
381
+
382
+ // draw donut hole
383
+ drawDonutHole(ctx);
384
+
385
+ // draw labels
386
+ if (options.series.pie.label.show)
387
+ drawLabels();
388
+
389
+ // restore to original state
390
+ ctx.restore();
391
+
392
+ function drawSlice(angle, color, fill)
393
+ {
394
+ if (angle<=0)
395
+ return;
396
+
397
+ if (fill)
398
+ ctx.fillStyle = color;
399
+ else
400
+ {
401
+ ctx.strokeStyle = color;
402
+ ctx.lineJoin = 'round';
403
+ }
404
+
405
+ ctx.beginPath();
406
+ if (Math.abs(angle - Math.PI*2) > 0.000000001)
407
+ ctx.moveTo(0,0); // Center of the pie
408
+ else if ($.browser.msie)
409
+ angle -= 0.0001;
410
+ //ctx.arc(0,0,radius,0,angle,false); // This doesn't work properly in Opera
411
+ ctx.arc(0,0,radius,currentAngle,currentAngle+angle,false);
412
+ ctx.closePath();
413
+ //ctx.rotate(angle); // This doesn't work properly in Opera
414
+ currentAngle += angle;
415
+
416
+ if (fill)
417
+ ctx.fill();
418
+ else
419
+ ctx.stroke();
420
+ }
421
+
422
+ function drawLabels()
423
+ {
424
+ var currentAngle = startAngle;
425
+
426
+ // set radius
427
+ if (options.series.pie.label.radius>1)
428
+ var radius = options.series.pie.label.radius;
429
+ else
430
+ var radius = maxRadius * options.series.pie.label.radius;
431
+
432
+ for (var i = 0; i < slices.length; ++i)
433
+ {
434
+ if (slices[i].percent >= options.series.pie.label.threshold*100)
435
+ drawLabel(slices[i], currentAngle, i);
436
+ currentAngle += slices[i].angle;
437
+ }
438
+
439
+ function drawLabel(slice, startAngle, index)
440
+ {
441
+ if (slice.data[0][1]==0)
442
+ return;
443
+
444
+ // format label text
445
+ var lf = options.legend.labelFormatter, text, plf = options.series.pie.label.formatter;
446
+ if (lf)
447
+ text = lf(slice.label, slice);
448
+ else
449
+ text = slice.label;
450
+ if (plf)
451
+ text = plf(text, slice);
452
+
453
+ var halfAngle = ((startAngle+slice.angle) + startAngle)/2;
454
+ var x = centerLeft + Math.round(Math.cos(halfAngle) * radius);
455
+ var y = centerTop + Math.round(Math.sin(halfAngle) * radius) * options.series.pie.tilt;
456
+
457
+ var html = '<span class="pieLabel" id="pieLabel'+index+'" style="position:absolute;top:' + y + 'px;left:' + x + 'px;">' + text + "</span>";
458
+ target.append(html);
459
+ var label = target.children('#pieLabel'+index);
460
+ var labelTop = (y - label.height()/2);
461
+ var labelLeft = (x - label.width()/2);
462
+ label.css('top', labelTop);
463
+ label.css('left', labelLeft);
464
+
465
+ // check to make sure that the label is not outside the canvas
466
+ if (0-labelTop>0 || 0-labelLeft>0 || canvas.height-(labelTop+label.height())<0 || canvas.width-(labelLeft+label.width())<0)
467
+ redraw = true;
468
+
469
+ if (options.series.pie.label.background.opacity != 0) {
470
+ // put in the transparent background separately to avoid blended labels and label boxes
471
+ var c = options.series.pie.label.background.color;
472
+ if (c == null) {
473
+ c = slice.color;
474
+ }
475
+ var pos = 'top:'+labelTop+'px;left:'+labelLeft+'px;';
476
+ $('<div class="pieLabelBackground" style="position:absolute;width:' + label.width() + 'px;height:' + label.height() + 'px;' + pos +'background-color:' + c + ';"> </div>').insertBefore(label).css('opacity', options.series.pie.label.background.opacity);
477
+ }
478
+ } // end individual label function
479
+ } // end drawLabels function
480
+ } // end drawPie function
481
+ } // end draw function
482
+
483
+ // Placed here because it needs to be accessed from multiple locations
484
+ function drawDonutHole(layer)
485
+ {
486
+ // draw donut hole
487
+ if(options.series.pie.innerRadius > 0)
488
+ {
489
+ // subtract the center
490
+ layer.save();
491
+ innerRadius = options.series.pie.innerRadius > 1 ? options.series.pie.innerRadius : maxRadius * options.series.pie.innerRadius;
492
+ layer.globalCompositeOperation = 'destination-out'; // this does not work with excanvas, but it will fall back to using the stroke color
493
+ layer.beginPath();
494
+ layer.fillStyle = options.series.pie.stroke.color;
495
+ layer.arc(0,0,innerRadius,0,Math.PI*2,false);
496
+ layer.fill();
497
+ layer.closePath();
498
+ layer.restore();
499
+
500
+ // add inner stroke
501
+ layer.save();
502
+ layer.beginPath();
503
+ layer.strokeStyle = options.series.pie.stroke.color;
504
+ layer.arc(0,0,innerRadius,0,Math.PI*2,false);
505
+ layer.stroke();
506
+ layer.closePath();
507
+ layer.restore();
508
+ // TODO: add extra shadow inside hole (with a mask) if the pie is tilted.
509
+ }
510
+ }
511
+
512
+ //-- Additional Interactive related functions --
513
+
514
+ function isPointInPoly(poly, pt)
515
+ {
516
+ for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
517
+ ((poly[i][1] <= pt[1] && pt[1] < poly[j][1]) || (poly[j][1] <= pt[1] && pt[1]< poly[i][1]))
518
+ && (pt[0] < (poly[j][0] - poly[i][0]) * (pt[1] - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
519
+ && (c = !c);
520
+ return c;
521
+ }
522
+
523
+ function findNearbySlice(mouseX, mouseY)
524
+ {
525
+ var slices = plot.getData(),
526
+ options = plot.getOptions(),
527
+ radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
528
+
529
+ for (var i = 0; i < slices.length; ++i)
530
+ {
531
+ var s = slices[i];
532
+
533
+ if(s.pie.show)
534
+ {
535
+ ctx.save();
536
+ ctx.beginPath();
537
+ ctx.moveTo(0,0); // Center of the pie
538
+ //ctx.scale(1, options.series.pie.tilt); // this actually seems to break everything when here.
539
+ ctx.arc(0,0,radius,s.startAngle,s.startAngle+s.angle,false);
540
+ ctx.closePath();
541
+ x = mouseX-centerLeft;
542
+ y = mouseY-centerTop;
543
+ if(ctx.isPointInPath)
544
+ {
545
+ if (ctx.isPointInPath(mouseX-centerLeft, mouseY-centerTop))
546
+ {
547
+ //alert('found slice!');
548
+ ctx.restore();
549
+ return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i};
550
+ }
551
+ }
552
+ else
553
+ {
554
+ // excanvas for IE doesn;t support isPointInPath, this is a workaround.
555
+ p1X = (radius * Math.cos(s.startAngle));
556
+ p1Y = (radius * Math.sin(s.startAngle));
557
+ p2X = (radius * Math.cos(s.startAngle+(s.angle/4)));
558
+ p2Y = (radius * Math.sin(s.startAngle+(s.angle/4)));
559
+ p3X = (radius * Math.cos(s.startAngle+(s.angle/2)));
560
+ p3Y = (radius * Math.sin(s.startAngle+(s.angle/2)));
561
+ p4X = (radius * Math.cos(s.startAngle+(s.angle/1.5)));
562
+ p4Y = (radius * Math.sin(s.startAngle+(s.angle/1.5)));
563
+ p5X = (radius * Math.cos(s.startAngle+s.angle));
564
+ p5Y = (radius * Math.sin(s.startAngle+s.angle));
565
+ arrPoly = [[0,0],[p1X,p1Y],[p2X,p2Y],[p3X,p3Y],[p4X,p4Y],[p5X,p5Y]];
566
+ arrPoint = [x,y];
567
+ // TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?
568
+ if(isPointInPoly(arrPoly, arrPoint))
569
+ {
570
+ ctx.restore();
571
+ return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i};
572
+ }
573
+ }
574
+ ctx.restore();
575
+ }
576
+ }
577
+
578
+ return null;
579
+ }
580
+
581
+ function onMouseMove(e)
582
+ {
583
+ triggerClickHoverEvent('plothover', e);
584
+ }
585
+
586
+ function onClick(e)
587
+ {
588
+ triggerClickHoverEvent('plotclick', e);
589
+ }
590
+
591
+ // trigger click or hover event (they send the same parameters so we share their code)
592
+ function triggerClickHoverEvent(eventname, e)
593
+ {
594
+ var offset = plot.offset(),
595
+ canvasX = parseInt(e.pageX - offset.left),
596
+ canvasY = parseInt(e.pageY - offset.top),
597
+ item = findNearbySlice(canvasX, canvasY);
598
+
599
+ if (options.grid.autoHighlight)
600
+ {
601
+ // clear auto-highlights
602
+ for (var i = 0; i < highlights.length; ++i)
603
+ {
604
+ var h = highlights[i];
605
+ if (h.auto == eventname && !(item && h.series == item.series))
606
+ unhighlight(h.series);
607
+ }
608
+ }
609
+
610
+ // highlight the slice
611
+ if (item)
612
+ highlight(item.series, eventname);
613
+
614
+ // trigger any hover bind events
615
+ var pos = { pageX: e.pageX, pageY: e.pageY };
616
+ target.trigger(eventname, [ pos, item ]);
617
+ }
618
+
619
+ function highlight(s, auto)
620
+ {
621
+ if (typeof s == "number")
622
+ s = series[s];
623
+
624
+ var i = indexOfHighlight(s);
625
+ if (i == -1)
626
+ {
627
+ highlights.push({ series: s, auto: auto });
628
+ plot.triggerRedrawOverlay();
629
+ }
630
+ else if (!auto)
631
+ highlights[i].auto = false;
632
+ }
633
+
634
+ function unhighlight(s)
635
+ {
636
+ if (s == null)
637
+ {
638
+ highlights = [];
639
+ plot.triggerRedrawOverlay();
640
+ }
641
+
642
+ if (typeof s == "number")
643
+ s = series[s];
644
+
645
+ var i = indexOfHighlight(s);
646
+ if (i != -1)
647
+ {
648
+ highlights.splice(i, 1);
649
+ plot.triggerRedrawOverlay();
650
+ }
651
+ }
652
+
653
+ function indexOfHighlight(s)
654
+ {
655
+ for (var i = 0; i < highlights.length; ++i)
656
+ {
657
+ var h = highlights[i];
658
+ if (h.series == s)
659
+ return i;
660
+ }
661
+ return -1;
662
+ }
663
+
664
+ function drawOverlay(plot, octx)
665
+ {
666
+ //alert(options.series.pie.radius);
667
+ var options = plot.getOptions();
668
+ //alert(options.series.pie.radius);
669
+
670
+ var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
671
+
672
+ octx.save();
673
+ octx.translate(centerLeft, centerTop);
674
+ octx.scale(1, options.series.pie.tilt);
675
+
676
+ for (i = 0; i < highlights.length; ++i)
677
+ drawHighlight(highlights[i].series);
678
+
679
+ drawDonutHole(octx);
680
+
681
+ octx.restore();
682
+
683
+ function drawHighlight(series)
684
+ {
685
+ if (series.angle < 0) return;
686
+
687
+ //octx.fillStyle = parseColor(options.series.pie.highlight.color).scale(null, null, null, options.series.pie.highlight.opacity).toString();
688
+ octx.fillStyle = "rgba(255, 255, 255, "+options.series.pie.highlight.opacity+")"; // this is temporary until we have access to parseColor
689
+
690
+ octx.beginPath();
691
+ if (Math.abs(series.angle - Math.PI*2) > 0.000000001)
692
+ octx.moveTo(0,0); // Center of the pie
693
+ octx.arc(0,0,radius,series.startAngle,series.startAngle+series.angle,false);
694
+ octx.closePath();
695
+ octx.fill();
696
+ }
697
+
698
+ }
699
+
700
+ } // end init (plugin body)
701
+
702
+ // define pie specific options and their default values
703
+ var options = {
704
+ series: {
705
+ pie: {
706
+ show: false,
707
+ radius: 'auto', // actual radius of the visible pie (based on full calculated radius if <=1, or hard pixel value)
708
+ innerRadius:0, /* for donut */
709
+ startAngle: 3/2,
710
+ tilt: 1,
711
+ offset: {
712
+ top: 0,
713
+ left: 'auto'
714
+ },
715
+ stroke: {
716
+ color: '#FFF',
717
+ width: 1
718
+ },
719
+ label: {
720
+ show: 'auto',
721
+ formatter: function(label, slice){
722
+ return '<div style="font-size:x-small;text-align:center;padding:2px;color:'+slice.color+';">'+label+'<br/>'+Math.round(slice.percent)+'%</div>';
723
+ }, // formatter function
724
+ radius: 1, // radius at which to place the labels (based on full calculated radius if <=1, or hard pixel value)
725
+ background: {
726
+ color: null,
727
+ opacity: 0
728
+ },
729
+ threshold: 0 // percentage at which to hide the label (i.e. the slice is too narrow)
730
+ },
731
+ combine: {
732
+ threshold: -1, // percentage at which to combine little slices into one larger slice
733
+ color: null, // color to give the new slice (auto-generated if null)
734
+ label: 'Other' // label to give the new slice
735
+ },
736
+ highlight: {
737
+ //color: '#FFF', // will add this functionality once parseColor is available
738
+ opacity: 0.5
739
+ }
740
+ }
741
+ }
742
+ };
743
+
744
+ $.plot.plugins.push({
745
+ init: init,
746
+ options: options,
747
+ name: "pie",
748
+ version: "1.0"
749
+ });
750
+ })(jQuery);