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,617 @@
1
+ /*!
2
+ * jQuery Validation Plugin 1.11.1
3
+ *
4
+ * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
5
+ * http://docs.jquery.com/Plugins/Validation
6
+ *
7
+ * Copyright 2013 Jörn Zaefferer
8
+ * Released under the MIT license:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ */
11
+
12
+ (function() {
13
+
14
+ function stripHtml(value) {
15
+ // remove html tags and space chars
16
+ return value.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' ')
17
+ // remove punctuation
18
+ .replace(/[.(),;:!?%#$'"_+=\/\-]*/g,'');
19
+ }
20
+ jQuery.validator.addMethod("maxWords", function(value, element, params) {
21
+ return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params;
22
+ }, jQuery.validator.format("Please enter {0} words or less."));
23
+
24
+ jQuery.validator.addMethod("minWords", function(value, element, params) {
25
+ return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params;
26
+ }, jQuery.validator.format("Please enter at least {0} words."));
27
+
28
+ jQuery.validator.addMethod("rangeWords", function(value, element, params) {
29
+ var valueStripped = stripHtml(value);
30
+ var regex = /\b\w+\b/g;
31
+ return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1];
32
+ }, jQuery.validator.format("Please enter between {0} and {1} words."));
33
+
34
+ }());
35
+
36
+ jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) {
37
+ return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value);
38
+ }, "Letters or punctuation only please");
39
+
40
+ jQuery.validator.addMethod("alphanumeric", function(value, element) {
41
+ return this.optional(element) || /^\w+$/i.test(value);
42
+ }, "Letters, numbers, and underscores only please");
43
+
44
+ jQuery.validator.addMethod("lettersonly", function(value, element) {
45
+ return this.optional(element) || /^[a-z]+$/i.test(value);
46
+ }, "Letters only please");
47
+
48
+ jQuery.validator.addMethod("nowhitespace", function(value, element) {
49
+ return this.optional(element) || /^\S+$/i.test(value);
50
+ }, "No white space please");
51
+
52
+ jQuery.validator.addMethod("ziprange", function(value, element) {
53
+ return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value);
54
+ }, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");
55
+
56
+ jQuery.validator.addMethod("zipcodeUS", function(value, element) {
57
+ return this.optional(element) || /\d{5}-\d{4}$|^\d{5}$/.test(value);
58
+ }, "The specified US ZIP Code is invalid");
59
+
60
+ jQuery.validator.addMethod("integer", function(value, element) {
61
+ return this.optional(element) || /^-?\d+$/.test(value);
62
+ }, "A positive or negative non-decimal number please");
63
+
64
+ /**
65
+ * Return true, if the value is a valid vehicle identification number (VIN).
66
+ *
67
+ * Works with all kind of text inputs.
68
+ *
69
+ * @example <input type="text" size="20" name="VehicleID" class="{required:true,vinUS:true}" />
70
+ * @desc Declares a required input element whose value must be a valid vehicle identification number.
71
+ *
72
+ * @name jQuery.validator.methods.vinUS
73
+ * @type Boolean
74
+ * @cat Plugins/Validate/Methods
75
+ */
76
+ jQuery.validator.addMethod("vinUS", function(v) {
77
+ if (v.length !== 17) {
78
+ return false;
79
+ }
80
+ var i, n, d, f, cd, cdv;
81
+ var LL = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"];
82
+ var VL = [1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9];
83
+ var FL = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];
84
+ var rs = 0;
85
+ for(i = 0; i < 17; i++){
86
+ f = FL[i];
87
+ d = v.slice(i,i+1);
88
+ if (i === 8) {
89
+ cdv = d;
90
+ }
91
+ if (!isNaN(d)) {
92
+ d *= f;
93
+ } else {
94
+ for (n = 0; n < LL.length; n++) {
95
+ if (d.toUpperCase() === LL[n]) {
96
+ d = VL[n];
97
+ d *= f;
98
+ if (isNaN(cdv) && n === 8) {
99
+ cdv = LL[n];
100
+ }
101
+ break;
102
+ }
103
+ }
104
+ }
105
+ rs += d;
106
+ }
107
+ cd = rs % 11;
108
+ if (cd === 10) {
109
+ cd = "X";
110
+ }
111
+ if (cd === cdv) {
112
+ return true;
113
+ }
114
+ return false;
115
+ }, "The specified vehicle identification number (VIN) is invalid.");
116
+
117
+ /**
118
+ * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
119
+ *
120
+ * @example jQuery.validator.methods.date("01/01/1900")
121
+ * @result true
122
+ *
123
+ * @example jQuery.validator.methods.date("01/13/1990")
124
+ * @result false
125
+ *
126
+ * @example jQuery.validator.methods.date("01.01.1900")
127
+ * @result false
128
+ *
129
+ * @example <input name="pippo" class="{dateITA:true}" />
130
+ * @desc Declares an optional input element whose value must be a valid date.
131
+ *
132
+ * @name jQuery.validator.methods.dateITA
133
+ * @type Boolean
134
+ * @cat Plugins/Validate/Methods
135
+ */
136
+ jQuery.validator.addMethod("dateITA", function(value, element) {
137
+ var check = false;
138
+ var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
139
+ if( re.test(value)) {
140
+ var adata = value.split('/');
141
+ var gg = parseInt(adata[0],10);
142
+ var mm = parseInt(adata[1],10);
143
+ var aaaa = parseInt(adata[2],10);
144
+ var xdata = new Date(aaaa,mm-1,gg);
145
+ if ( ( xdata.getFullYear() === aaaa ) && ( xdata.getMonth() === mm - 1 ) && ( xdata.getDate() === gg ) ){
146
+ check = true;
147
+ } else {
148
+ check = false;
149
+ }
150
+ } else {
151
+ check = false;
152
+ }
153
+ return this.optional(element) || check;
154
+ }, "Please enter a correct date");
155
+
156
+ /**
157
+ * IBAN is the international bank account number.
158
+ * It has a country - specific format, that is checked here too
159
+ */
160
+ jQuery.validator.addMethod("iban", function(value, element) {
161
+ // some quick simple tests to prevent needless work
162
+ if (this.optional(element)) {
163
+ return true;
164
+ }
165
+ if (!(/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(value))) {
166
+ return false;
167
+ }
168
+
169
+ // check the country code and find the country specific format
170
+ var iban = value.replace(/ /g,'').toUpperCase(); // remove spaces and to upper case
171
+ var countrycode = iban.substring(0,2);
172
+ var bbancountrypatterns = {
173
+ 'AL': "\\d{8}[\\dA-Z]{16}",
174
+ 'AD': "\\d{8}[\\dA-Z]{12}",
175
+ 'AT': "\\d{16}",
176
+ 'AZ': "[\\dA-Z]{4}\\d{20}",
177
+ 'BE': "\\d{12}",
178
+ 'BH': "[A-Z]{4}[\\dA-Z]{14}",
179
+ 'BA': "\\d{16}",
180
+ 'BR': "\\d{23}[A-Z][\\dA-Z]",
181
+ 'BG': "[A-Z]{4}\\d{6}[\\dA-Z]{8}",
182
+ 'CR': "\\d{17}",
183
+ 'HR': "\\d{17}",
184
+ 'CY': "\\d{8}[\\dA-Z]{16}",
185
+ 'CZ': "\\d{20}",
186
+ 'DK': "\\d{14}",
187
+ 'DO': "[A-Z]{4}\\d{20}",
188
+ 'EE': "\\d{16}",
189
+ 'FO': "\\d{14}",
190
+ 'FI': "\\d{14}",
191
+ 'FR': "\\d{10}[\\dA-Z]{11}\\d{2}",
192
+ 'GE': "[\\dA-Z]{2}\\d{16}",
193
+ 'DE': "\\d{18}",
194
+ 'GI': "[A-Z]{4}[\\dA-Z]{15}",
195
+ 'GR': "\\d{7}[\\dA-Z]{16}",
196
+ 'GL': "\\d{14}",
197
+ 'GT': "[\\dA-Z]{4}[\\dA-Z]{20}",
198
+ 'HU': "\\d{24}",
199
+ 'IS': "\\d{22}",
200
+ 'IE': "[\\dA-Z]{4}\\d{14}",
201
+ 'IL': "\\d{19}",
202
+ 'IT': "[A-Z]\\d{10}[\\dA-Z]{12}",
203
+ 'KZ': "\\d{3}[\\dA-Z]{13}",
204
+ 'KW': "[A-Z]{4}[\\dA-Z]{22}",
205
+ 'LV': "[A-Z]{4}[\\dA-Z]{13}",
206
+ 'LB': "\\d{4}[\\dA-Z]{20}",
207
+ 'LI': "\\d{5}[\\dA-Z]{12}",
208
+ 'LT': "\\d{16}",
209
+ 'LU': "\\d{3}[\\dA-Z]{13}",
210
+ 'MK': "\\d{3}[\\dA-Z]{10}\\d{2}",
211
+ 'MT': "[A-Z]{4}\\d{5}[\\dA-Z]{18}",
212
+ 'MR': "\\d{23}",
213
+ 'MU': "[A-Z]{4}\\d{19}[A-Z]{3}",
214
+ 'MC': "\\d{10}[\\dA-Z]{11}\\d{2}",
215
+ 'MD': "[\\dA-Z]{2}\\d{18}",
216
+ 'ME': "\\d{18}",
217
+ 'NL': "[A-Z]{4}\\d{10}",
218
+ 'NO': "\\d{11}",
219
+ 'PK': "[\\dA-Z]{4}\\d{16}",
220
+ 'PS': "[\\dA-Z]{4}\\d{21}",
221
+ 'PL': "\\d{24}",
222
+ 'PT': "\\d{21}",
223
+ 'RO': "[A-Z]{4}[\\dA-Z]{16}",
224
+ 'SM': "[A-Z]\\d{10}[\\dA-Z]{12}",
225
+ 'SA': "\\d{2}[\\dA-Z]{18}",
226
+ 'RS': "\\d{18}",
227
+ 'SK': "\\d{20}",
228
+ 'SI': "\\d{15}",
229
+ 'ES': "\\d{20}",
230
+ 'SE': "\\d{20}",
231
+ 'CH': "\\d{5}[\\dA-Z]{12}",
232
+ 'TN': "\\d{20}",
233
+ 'TR': "\\d{5}[\\dA-Z]{17}",
234
+ 'AE': "\\d{3}\\d{16}",
235
+ 'GB': "[A-Z]{4}\\d{14}",
236
+ 'VG': "[\\dA-Z]{4}\\d{16}"
237
+ };
238
+ var bbanpattern = bbancountrypatterns[countrycode];
239
+ // As new countries will start using IBAN in the
240
+ // future, we only check if the countrycode is known.
241
+ // This prevents false negatives, while almost all
242
+ // false positives introduced by this, will be caught
243
+ // by the checksum validation below anyway.
244
+ // Strict checking should return FALSE for unknown
245
+ // countries.
246
+ if (typeof bbanpattern !== 'undefined') {
247
+ var ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", "");
248
+ if (!(ibanregexp.test(iban))) {
249
+ return false; // invalid country specific format
250
+ }
251
+ }
252
+
253
+ // now check the checksum, first convert to digits
254
+ var ibancheck = iban.substring(4,iban.length) + iban.substring(0,4);
255
+ var ibancheckdigits = "";
256
+ var leadingZeroes = true;
257
+ var charAt;
258
+ for (var i =0; i<ibancheck.length; i++) {
259
+ charAt = ibancheck.charAt(i);
260
+ if (charAt !== "0") {
261
+ leadingZeroes = false;
262
+ }
263
+ if (!leadingZeroes) {
264
+ ibancheckdigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt);
265
+ }
266
+ }
267
+
268
+ // calculate the result of: ibancheckdigits % 97
269
+ var cRest = '';
270
+ var cOperator = '';
271
+ for (var p=0; p<ibancheckdigits.length; p++) {
272
+ var cChar = ibancheckdigits.charAt(p);
273
+ cOperator = '' + cRest + '' + cChar;
274
+ cRest = cOperator % 97;
275
+ }
276
+ return cRest === 1;
277
+ }, "Please specify a valid IBAN");
278
+
279
+ jQuery.validator.addMethod("dateNL", function(value, element) {
280
+ return this.optional(element) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value);
281
+ }, "Please enter a correct date");
282
+
283
+ /**
284
+ * Dutch phone numbers have 10 digits (or 11 and start with +31).
285
+ */
286
+ jQuery.validator.addMethod("phoneNL", function(value, element) {
287
+ return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value);
288
+ }, "Please specify a valid phone number.");
289
+
290
+ jQuery.validator.addMethod("mobileNL", function(value, element) {
291
+ return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value);
292
+ }, "Please specify a valid mobile number");
293
+
294
+ jQuery.validator.addMethod("postalcodeNL", function(value, element) {
295
+ return this.optional(element) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value);
296
+ }, "Please specify a valid postal code");
297
+
298
+ /*
299
+ * Dutch bank account numbers (not 'giro' numbers) have 9 digits
300
+ * and pass the '11 check'.
301
+ * We accept the notation with spaces, as that is common.
302
+ * acceptable: 123456789 or 12 34 56 789
303
+ */
304
+ jQuery.validator.addMethod("bankaccountNL", function(value, element) {
305
+ if (this.optional(element)) {
306
+ return true;
307
+ }
308
+ if (!(/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))) {
309
+ return false;
310
+ }
311
+ // now '11 check'
312
+ var account = value.replace(/ /g,''); // remove spaces
313
+ var sum = 0;
314
+ var len = account.length;
315
+ for (var pos=0; pos<len; pos++) {
316
+ var factor = len - pos;
317
+ var digit = account.substring(pos, pos+1);
318
+ sum = sum + factor * digit;
319
+ }
320
+ return sum % 11 === 0;
321
+ }, "Please specify a valid bank account number");
322
+
323
+ /**
324
+ * Dutch giro account numbers (not bank numbers) have max 7 digits
325
+ */
326
+ jQuery.validator.addMethod("giroaccountNL", function(value, element) {
327
+ return this.optional(element) || /^[0-9]{1,7}$/.test(value);
328
+ }, "Please specify a valid giro account number");
329
+
330
+ jQuery.validator.addMethod("bankorgiroaccountNL", function(value, element) {
331
+ return this.optional(element) ||
332
+ ($.validator.methods["bankaccountNL"].call(this, value, element)) ||
333
+ ($.validator.methods["giroaccountNL"].call(this, value, element));
334
+ }, "Please specify a valid bank or giro account number");
335
+
336
+
337
+ jQuery.validator.addMethod("time", function(value, element) {
338
+ return this.optional(element) || /^([01]\d|2[0-3])(:[0-5]\d){1,2}$/.test(value);
339
+ }, "Please enter a valid time, between 00:00 and 23:59");
340
+ jQuery.validator.addMethod("time12h", function(value, element) {
341
+ return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value);
342
+ }, "Please enter a valid time in 12-hour am/pm format");
343
+
344
+ /**
345
+ * matches US phone number format
346
+ *
347
+ * where the area code may not start with 1 and the prefix may not start with 1
348
+ * allows '-' or ' ' as a separator and allows parens around area code
349
+ * some people may want to put a '1' in front of their number
350
+ *
351
+ * 1(212)-999-2345 or
352
+ * 212 999 2344 or
353
+ * 212-999-0983
354
+ *
355
+ * but not
356
+ * 111-123-5434
357
+ * and not
358
+ * 212 123 4567
359
+ */
360
+ jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
361
+ phone_number = phone_number.replace(/\s+/g, "");
362
+ return this.optional(element) || phone_number.length > 9 &&
363
+ phone_number.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
364
+ }, "Please specify a valid phone number");
365
+
366
+ jQuery.validator.addMethod('phoneUK', function(phone_number, element) {
367
+ phone_number = phone_number.replace(/\(|\)|\s+|-/g,'');
368
+ return this.optional(element) || phone_number.length > 9 &&
369
+ phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/);
370
+ }, 'Please specify a valid phone number');
371
+
372
+ jQuery.validator.addMethod('mobileUK', function(phone_number, element) {
373
+ phone_number = phone_number.replace(/\(|\)|\s+|-/g,'');
374
+ return this.optional(element) || phone_number.length > 9 &&
375
+ phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/);
376
+ }, 'Please specify a valid mobile number');
377
+
378
+ //Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers
379
+ jQuery.validator.addMethod('phonesUK', function(phone_number, element) {
380
+ phone_number = phone_number.replace(/\(|\)|\s+|-/g,'');
381
+ return this.optional(element) || phone_number.length > 9 &&
382
+ phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/);
383
+ }, 'Please specify a valid uk phone number');
384
+ // On the above three UK functions, do the following server side processing:
385
+ // Compare original input with this RegEx pattern:
386
+ // ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
387
+ // Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
388
+ // Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
389
+ // A number of very detailed GB telephone number RegEx patterns can also be found at:
390
+ // http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
391
+
392
+ // Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
393
+ jQuery.validator.addMethod('postcodeUK', function(value, element) {
394
+ return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value);
395
+ }, 'Please specify a valid UK postcode');
396
+
397
+ // TODO check if value starts with <, otherwise don't try stripping anything
398
+ jQuery.validator.addMethod("strippedminlength", function(value, element, param) {
399
+ return jQuery(value).text().length >= param;
400
+ }, jQuery.validator.format("Please enter at least {0} characters"));
401
+
402
+ // same as email, but TLD is optional
403
+ jQuery.validator.addMethod("email2", function(value, element, param) {
404
+ return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
405
+ }, jQuery.validator.messages.email);
406
+
407
+ // same as url, but TLD is optional
408
+ jQuery.validator.addMethod("url2", function(value, element, param) {
409
+ return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
410
+ }, jQuery.validator.messages.url);
411
+
412
+ // NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator
413
+ // Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
414
+ // Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings)
415
+ jQuery.validator.addMethod("creditcardtypes", function(value, element, param) {
416
+ if (/[^0-9\-]+/.test(value)) {
417
+ return false;
418
+ }
419
+
420
+ value = value.replace(/\D/g, "");
421
+
422
+ var validTypes = 0x0000;
423
+
424
+ if (param.mastercard) {
425
+ validTypes |= 0x0001;
426
+ }
427
+ if (param.visa) {
428
+ validTypes |= 0x0002;
429
+ }
430
+ if (param.amex) {
431
+ validTypes |= 0x0004;
432
+ }
433
+ if (param.dinersclub) {
434
+ validTypes |= 0x0008;
435
+ }
436
+ if (param.enroute) {
437
+ validTypes |= 0x0010;
438
+ }
439
+ if (param.discover) {
440
+ validTypes |= 0x0020;
441
+ }
442
+ if (param.jcb) {
443
+ validTypes |= 0x0040;
444
+ }
445
+ if (param.unknown) {
446
+ validTypes |= 0x0080;
447
+ }
448
+ if (param.all) {
449
+ validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080;
450
+ }
451
+ if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard
452
+ return value.length === 16;
453
+ }
454
+ if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa
455
+ return value.length === 16;
456
+ }
457
+ if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex
458
+ return value.length === 15;
459
+ }
460
+ if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub
461
+ return value.length === 14;
462
+ }
463
+ if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute
464
+ return value.length === 15;
465
+ }
466
+ if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover
467
+ return value.length === 16;
468
+ }
469
+ if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb
470
+ return value.length === 16;
471
+ }
472
+ if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb
473
+ return value.length === 15;
474
+ }
475
+ if (validTypes & 0x0080) { //unknown
476
+ return true;
477
+ }
478
+ return false;
479
+ }, "Please enter a valid credit card number.");
480
+
481
+ jQuery.validator.addMethod("ipv4", function(value, element, param) {
482
+ return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value);
483
+ }, "Please enter a valid IP v4 address.");
484
+
485
+ jQuery.validator.addMethod("ipv6", function(value, element, param) {
486
+ return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value);
487
+ }, "Please enter a valid IP v6 address.");
488
+
489
+ /**
490
+ * Return true if the field value matches the given format RegExp
491
+ *
492
+ * @example jQuery.validator.methods.pattern("AR1004",element,/^AR\d{4}$/)
493
+ * @result true
494
+ *
495
+ * @example jQuery.validator.methods.pattern("BR1004",element,/^AR\d{4}$/)
496
+ * @result false
497
+ *
498
+ * @name jQuery.validator.methods.pattern
499
+ * @type Boolean
500
+ * @cat Plugins/Validate/Methods
501
+ */
502
+ jQuery.validator.addMethod("pattern", function(value, element, param) {
503
+ if (this.optional(element)) {
504
+ return true;
505
+ }
506
+ if (typeof param === 'string') {
507
+ param = new RegExp('^(?:' + param + ')$');
508
+ }
509
+ return param.test(value);
510
+ }, "Invalid format.");
511
+
512
+
513
+ /*
514
+ * Lets you say "at least X inputs that match selector Y must be filled."
515
+ *
516
+ * The end result is that neither of these inputs:
517
+ *
518
+ * <input class="productinfo" name="partnumber">
519
+ * <input class="productinfo" name="description">
520
+ *
521
+ * ...will validate unless at least one of them is filled.
522
+ *
523
+ * partnumber: {require_from_group: [1,".productinfo"]},
524
+ * description: {require_from_group: [1,".productinfo"]}
525
+ *
526
+ */
527
+ jQuery.validator.addMethod("require_from_group", function(value, element, options) {
528
+ var validator = this;
529
+ var selector = options[1];
530
+ var validOrNot = $(selector, element.form).filter(function() {
531
+ return validator.elementValue(this);
532
+ }).length >= options[0];
533
+
534
+ if(!$(element).data('being_validated')) {
535
+ var fields = $(selector, element.form);
536
+ fields.data('being_validated', true);
537
+ fields.valid();
538
+ fields.data('being_validated', false);
539
+ }
540
+ return validOrNot;
541
+ }, jQuery.format("Please fill at least {0} of these fields."));
542
+
543
+ /*
544
+ * Lets you say "either at least X inputs that match selector Y must be filled,
545
+ * OR they must all be skipped (left blank)."
546
+ *
547
+ * The end result, is that none of these inputs:
548
+ *
549
+ * <input class="productinfo" name="partnumber">
550
+ * <input class="productinfo" name="description">
551
+ * <input class="productinfo" name="color">
552
+ *
553
+ * ...will validate unless either at least two of them are filled,
554
+ * OR none of them are.
555
+ *
556
+ * partnumber: {skip_or_fill_minimum: [2,".productinfo"]},
557
+ * description: {skip_or_fill_minimum: [2,".productinfo"]},
558
+ * color: {skip_or_fill_minimum: [2,".productinfo"]}
559
+ *
560
+ */
561
+ jQuery.validator.addMethod("skip_or_fill_minimum", function(value, element, options) {
562
+ var validator = this,
563
+ numberRequired = options[0],
564
+ selector = options[1];
565
+ var numberFilled = $(selector, element.form).filter(function() {
566
+ return validator.elementValue(this);
567
+ }).length;
568
+ var valid = numberFilled >= numberRequired || numberFilled === 0;
569
+
570
+ if(!$(element).data('being_validated')) {
571
+ var fields = $(selector, element.form);
572
+ fields.data('being_validated', true);
573
+ fields.valid();
574
+ fields.data('being_validated', false);
575
+ }
576
+ return valid;
577
+ }, jQuery.format("Please either skip these fields or fill at least {0} of them."));
578
+
579
+ // Accept a value from a file input based on a required mimetype
580
+ jQuery.validator.addMethod("accept", function(value, element, param) {
581
+ // Split mime on commas in case we have multiple types we can accept
582
+ var typeParam = typeof param === "string" ? param.replace(/\s/g, '').replace(/,/g, '|') : "image/*",
583
+ optionalValue = this.optional(element),
584
+ i, file;
585
+
586
+ // Element is optional
587
+ if (optionalValue) {
588
+ return optionalValue;
589
+ }
590
+
591
+ if ($(element).attr("type") === "file") {
592
+ // If we are using a wildcard, make it regex friendly
593
+ typeParam = typeParam.replace(/\*/g, ".*");
594
+
595
+ // Check if the element has a FileList before checking each file
596
+ if (element.files && element.files.length) {
597
+ for (i = 0; i < element.files.length; i++) {
598
+ file = element.files[i];
599
+
600
+ // Grab the mimetype from the loaded file, verify it matches
601
+ if (!file.type.match(new RegExp( ".?(" + typeParam + ")$", "i"))) {
602
+ return false;
603
+ }
604
+ }
605
+ }
606
+ }
607
+
608
+ // Either return true because we've validated each file, or because the
609
+ // browser does not support element.files and the FileList feature
610
+ return true;
611
+ }, jQuery.format("Please enter a value with a valid mimetype."));
612
+
613
+ // Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept
614
+ jQuery.validator.addMethod("extension", function(value, element, param) {
615
+ param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
616
+ return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
617
+ }, jQuery.format("Please enter a value with a valid extension."));
@@ -0,0 +1,2 @@
1
+ /*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation
2
+ * Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(){function t(t){return t.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ").replace(/[.(),;:!?%#$'"_+=\/\-]*/g,"")}jQuery.validator.addMethod("maxWords",function(e,i,a){return this.optional(i)||a>=t(e).match(/\b\w+\b/g).length},jQuery.validator.format("Please enter {0} words or less.")),jQuery.validator.addMethod("minWords",function(e,i,a){return this.optional(i)||t(e).match(/\b\w+\b/g).length>=a},jQuery.validator.format("Please enter at least {0} words.")),jQuery.validator.addMethod("rangeWords",function(e,i,a){var r=t(e),n=/\b\w+\b/g;return this.optional(i)||r.match(n).length>=a[0]&&r.match(n).length<=a[1]},jQuery.validator.format("Please enter between {0} and {1} words."))})(),jQuery.validator.addMethod("letterswithbasicpunc",function(t,e){return this.optional(e)||/^[a-z\-.,()'"\s]+$/i.test(t)},"Letters or punctuation only please"),jQuery.validator.addMethod("alphanumeric",function(t,e){return this.optional(e)||/^\w+$/i.test(t)},"Letters, numbers, and underscores only please"),jQuery.validator.addMethod("lettersonly",function(t,e){return this.optional(e)||/^[a-z]+$/i.test(t)},"Letters only please"),jQuery.validator.addMethod("nowhitespace",function(t,e){return this.optional(e)||/^\S+$/i.test(t)},"No white space please"),jQuery.validator.addMethod("ziprange",function(t,e){return this.optional(e)||/^90[2-5]\d\{2\}-\d{4}$/.test(t)},"Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"),jQuery.validator.addMethod("zipcodeUS",function(t,e){return this.optional(e)||/\d{5}-\d{4}$|^\d{5}$/.test(t)},"The specified US ZIP Code is invalid"),jQuery.validator.addMethod("integer",function(t,e){return this.optional(e)||/^-?\d+$/.test(t)},"A positive or negative non-decimal number please"),jQuery.validator.addMethod("vinUS",function(t){if(17!==t.length)return!1;var e,i,a,r,n,s,u=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],d=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],o=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],l=0;for(e=0;17>e;e++){if(r=o[e],a=t.slice(e,e+1),8===e&&(s=a),isNaN(a)){for(i=0;u.length>i;i++)if(a.toUpperCase()===u[i]){a=d[i],a*=r,isNaN(s)&&8===i&&(s=u[i]);break}}else a*=r;l+=a}return n=l%11,10===n&&(n="X"),n===s?!0:!1},"The specified vehicle identification number (VIN) is invalid."),jQuery.validator.addMethod("dateITA",function(t,e){var i=!1,a=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(a.test(t)){var r=t.split("/"),n=parseInt(r[0],10),s=parseInt(r[1],10),u=parseInt(r[2],10),d=new Date(u,s-1,n);i=d.getFullYear()===u&&d.getMonth()===s-1&&d.getDate()===n?!0:!1}else i=!1;return this.optional(e)||i},"Please enter a correct date"),jQuery.validator.addMethod("iban",function(t,e){if(this.optional(e))return!0;if(!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(t))return!1;var i=t.replace(/ /g,"").toUpperCase(),a=i.substring(0,2),r={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},n=r[a];if(n!==void 0){var s=RegExp("^[A-Z]{2}\\d{2}"+n+"$","");if(!s.test(i))return!1}for(var u,d=i.substring(4,i.length)+i.substring(0,4),o="",l=!0,h=0;d.length>h;h++)u=d.charAt(h),"0"!==u&&(l=!1),l||(o+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(u));for(var F="",c="",m=0;o.length>m;m++){var f=o.charAt(m);c=""+F+f,F=c%97}return 1===F},"Please specify a valid IBAN"),jQuery.validator.addMethod("dateNL",function(t,e){return this.optional(e)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(t)},"Please enter a correct date"),jQuery.validator.addMethod("phoneNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid phone number."),jQuery.validator.addMethod("mobileNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid mobile number"),jQuery.validator.addMethod("postalcodeNL",function(t,e){return this.optional(e)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(t)},"Please specify a valid postal code"),jQuery.validator.addMethod("bankaccountNL",function(t,e){if(this.optional(e))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(t))return!1;for(var i=t.replace(/ /g,""),a=0,r=i.length,n=0;r>n;n++){var s=r-n,u=i.substring(n,n+1);a+=s*u}return 0===a%11},"Please specify a valid bank account number"),jQuery.validator.addMethod("giroaccountNL",function(t,e){return this.optional(e)||/^[0-9]{1,7}$/.test(t)},"Please specify a valid giro account number"),jQuery.validator.addMethod("bankorgiroaccountNL",function(t,e){return this.optional(e)||$.validator.methods.bankaccountNL.call(this,t,e)||$.validator.methods.giroaccountNL.call(this,t,e)},"Please specify a valid bank or giro account number"),jQuery.validator.addMethod("time",function(t,e){return this.optional(e)||/^([01]\d|2[0-3])(:[0-5]\d){1,2}$/.test(t)},"Please enter a valid time, between 00:00 and 23:59"),jQuery.validator.addMethod("time12h",function(t,e){return this.optional(e)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(t)},"Please enter a valid time in 12-hour am/pm format"),jQuery.validator.addMethod("phoneUS",function(t,e){return t=t.replace(/\s+/g,""),this.optional(e)||t.length>9&&t.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("phoneUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("mobileUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),jQuery.validator.addMethod("phonesUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),jQuery.validator.addMethod("postcodeUK",function(t,e){return this.optional(e)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(t)},"Please specify a valid UK postcode"),jQuery.validator.addMethod("strippedminlength",function(t,e,i){return jQuery(t).text().length>=i},jQuery.validator.format("Please enter at least {0} characters")),jQuery.validator.addMethod("email2",function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(t)},jQuery.validator.messages.email),jQuery.validator.addMethod("url2",function(t,e){return this.optional(e)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},jQuery.validator.messages.url),jQuery.validator.addMethod("creditcardtypes",function(t,e,i){if(/[^0-9\-]+/.test(t))return!1;t=t.replace(/\D/g,"");var a=0;return i.mastercard&&(a|=1),i.visa&&(a|=2),i.amex&&(a|=4),i.dinersclub&&(a|=8),i.enroute&&(a|=16),i.discover&&(a|=32),i.jcb&&(a|=64),i.unknown&&(a|=128),i.all&&(a=255),1&a&&/^(5[12345])/.test(t)?16===t.length:2&a&&/^(4)/.test(t)?16===t.length:4&a&&/^(3[47])/.test(t)?15===t.length:8&a&&/^(3(0[012345]|[68]))/.test(t)?14===t.length:16&a&&/^(2(014|149))/.test(t)?15===t.length:32&a&&/^(6011)/.test(t)?16===t.length:64&a&&/^(3)/.test(t)?16===t.length:64&a&&/^(2131|1800)/.test(t)?15===t.length:128&a?!0:!1},"Please enter a valid credit card number."),jQuery.validator.addMethod("ipv4",function(t,e){return this.optional(e)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(t)},"Please enter a valid IP v4 address."),jQuery.validator.addMethod("ipv6",function(t,e){return this.optional(e)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(t)},"Please enter a valid IP v6 address."),jQuery.validator.addMethod("pattern",function(t,e,i){return this.optional(e)?!0:("string"==typeof i&&(i=RegExp("^(?:"+i+")$")),i.test(t))},"Invalid format."),jQuery.validator.addMethod("require_from_group",function(t,e,i){var a=this,r=i[1],n=$(r,e.form).filter(function(){return a.elementValue(this)}).length>=i[0];if(!$(e).data("being_validated")){var s=$(r,e.form);s.data("being_validated",!0),s.valid(),s.data("being_validated",!1)}return n},jQuery.format("Please fill at least {0} of these fields.")),jQuery.validator.addMethod("skip_or_fill_minimum",function(t,e,i){var a=this,r=i[0],n=i[1],s=$(n,e.form).filter(function(){return a.elementValue(this)}).length,u=s>=r||0===s;if(!$(e).data("being_validated")){var d=$(n,e.form);d.data("being_validated",!0),d.valid(),d.data("being_validated",!1)}return u},jQuery.format("Please either skip these fields or fill at least {0} of them.")),jQuery.validator.addMethod("accept",function(t,e,i){var a,r,n="string"==typeof i?i.replace(/\s/g,"").replace(/,/g,"|"):"image/*",s=this.optional(e);if(s)return s;if("file"===$(e).attr("type")&&(n=n.replace(/\*/g,".*"),e.files&&e.files.length))for(a=0;e.files.length>a;a++)if(r=e.files[a],!r.type.match(RegExp(".?("+n+")$","i")))return!1;return!0},jQuery.format("Please enter a value with a valid mimetype.")),jQuery.validator.addMethod("extension",function(t,e,i){return i="string"==typeof i?i.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(e)||t.match(RegExp(".("+i+")$","i"))},jQuery.format("Please enter a value with a valid extension."));