muck-users 0.2.19 → 0.2.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (874) hide show
  1. data/VERSION +1 -1
  2. data/app/controllers/admin/muck/roles_controller.rb +0 -2
  3. data/app/controllers/muck/user_sessions_controller.rb +11 -9
  4. data/app/controllers/muck/users_controller.rb +79 -46
  5. data/app/views/user_mailer/activation_confirmation.text.ar.html.erb +1 -1
  6. data/app/views/user_mailer/activation_confirmation.text.ar.plain.erb +2 -2
  7. data/app/views/user_mailer/activation_confirmation.text.bg.html.erb +1 -1
  8. data/app/views/user_mailer/activation_confirmation.text.bg.plain.erb +2 -2
  9. data/app/views/user_mailer/activation_confirmation.text.ca.html.erb +1 -1
  10. data/app/views/user_mailer/activation_confirmation.text.ca.plain.erb +2 -2
  11. data/app/views/user_mailer/activation_confirmation.text.cs.plain.erb +1 -1
  12. data/app/views/user_mailer/activation_confirmation.text.da.html.erb +1 -1
  13. data/app/views/user_mailer/activation_confirmation.text.da.plain.erb +1 -1
  14. data/app/views/user_mailer/activation_confirmation.text.de.html.erb +1 -1
  15. data/app/views/user_mailer/activation_confirmation.text.de.plain.erb +2 -2
  16. data/app/views/user_mailer/activation_confirmation.text.el.html.erb +1 -1
  17. data/app/views/user_mailer/activation_confirmation.text.el.plain.erb +2 -2
  18. data/app/views/user_mailer/activation_confirmation.text.es.plain.erb +1 -1
  19. data/app/views/user_mailer/activation_confirmation.text.et.html.erb +1 -1
  20. data/app/views/user_mailer/activation_confirmation.text.et.plain.erb +2 -2
  21. data/app/views/user_mailer/activation_confirmation.text.fa.html.erb +1 -1
  22. data/app/views/user_mailer/activation_confirmation.text.fa.plain.erb +1 -1
  23. data/app/views/user_mailer/activation_confirmation.text.fi.html.erb +1 -1
  24. data/app/views/user_mailer/activation_confirmation.text.fi.plain.erb +1 -1
  25. data/app/views/user_mailer/activation_confirmation.text.fr.plain.erb +1 -1
  26. data/app/views/user_mailer/activation_confirmation.text.gl.html.erb +1 -1
  27. data/app/views/user_mailer/activation_confirmation.text.gl.plain.erb +2 -2
  28. data/app/views/user_mailer/activation_confirmation.text.hi.plain.erb +1 -1
  29. data/app/views/user_mailer/activation_confirmation.text.hr.plain.erb +1 -1
  30. data/app/views/user_mailer/activation_confirmation.text.hu.html.erb +2 -2
  31. data/app/views/user_mailer/activation_confirmation.text.hu.plain.erb +3 -3
  32. data/app/views/user_mailer/activation_confirmation.text.id.html.erb +1 -1
  33. data/app/views/user_mailer/activation_confirmation.text.id.plain.erb +2 -2
  34. data/app/views/user_mailer/activation_confirmation.text.it.html.erb +1 -1
  35. data/app/views/user_mailer/activation_confirmation.text.it.plain.erb +2 -2
  36. data/app/views/user_mailer/activation_confirmation.text.iw.html.erb +1 -1
  37. data/app/views/user_mailer/activation_confirmation.text.iw.plain.erb +1 -1
  38. data/app/views/user_mailer/activation_confirmation.text.ja.html.erb +1 -1
  39. data/app/views/user_mailer/activation_confirmation.text.ja.plain.erb +2 -2
  40. data/app/views/user_mailer/activation_confirmation.text.ko.html.erb +2 -2
  41. data/app/views/user_mailer/activation_confirmation.text.ko.plain.erb +2 -2
  42. data/app/views/user_mailer/activation_confirmation.text.lt.html.erb +1 -1
  43. data/app/views/user_mailer/activation_confirmation.text.lt.plain.erb +2 -2
  44. data/app/views/user_mailer/activation_confirmation.text.lv.plain.erb +1 -1
  45. data/app/views/user_mailer/activation_confirmation.text.mt.html.erb +1 -1
  46. data/app/views/user_mailer/activation_confirmation.text.mt.plain.erb +2 -2
  47. data/app/views/user_mailer/activation_confirmation.text.nl.plain.erb +1 -1
  48. data/app/views/user_mailer/activation_confirmation.text.no.html.erb +1 -1
  49. data/app/views/user_mailer/activation_confirmation.text.no.plain.erb +2 -2
  50. data/app/views/user_mailer/activation_confirmation.text.pl.html.erb +1 -1
  51. data/app/views/user_mailer/activation_confirmation.text.pl.plain.erb +1 -1
  52. data/app/views/user_mailer/activation_confirmation.text.ro.html.erb +1 -1
  53. data/app/views/user_mailer/activation_confirmation.text.ro.plain.erb +2 -2
  54. data/app/views/user_mailer/activation_confirmation.text.ru.html.erb +1 -1
  55. data/app/views/user_mailer/activation_confirmation.text.ru.plain.erb +1 -1
  56. data/app/views/user_mailer/activation_confirmation.text.sk.html.erb +1 -1
  57. data/app/views/user_mailer/activation_confirmation.text.sk.plain.erb +1 -1
  58. data/app/views/user_mailer/activation_confirmation.text.sl.html.erb +2 -2
  59. data/app/views/user_mailer/activation_confirmation.text.sl.plain.erb +3 -3
  60. data/app/views/user_mailer/activation_confirmation.text.sq.html.erb +2 -2
  61. data/app/views/user_mailer/activation_confirmation.text.sq.plain.erb +2 -2
  62. data/app/views/user_mailer/activation_confirmation.text.sr.html.erb +1 -1
  63. data/app/views/user_mailer/activation_confirmation.text.sr.plain.erb +1 -1
  64. data/app/views/user_mailer/activation_confirmation.text.sv.plain.erb +1 -1
  65. data/app/views/user_mailer/activation_confirmation.text.th.html.erb +1 -1
  66. data/app/views/user_mailer/activation_confirmation.text.th.plain.erb +1 -1
  67. data/app/views/user_mailer/activation_confirmation.text.tl.html.erb +1 -1
  68. data/app/views/user_mailer/activation_confirmation.text.tl.plain.erb +2 -2
  69. data/app/views/user_mailer/activation_confirmation.text.tr.html.erb +2 -2
  70. data/app/views/user_mailer/activation_confirmation.text.tr.plain.erb +3 -3
  71. data/app/views/user_mailer/activation_confirmation.text.uk.html.erb +1 -1
  72. data/app/views/user_mailer/activation_confirmation.text.uk.plain.erb +1 -1
  73. data/app/views/user_mailer/activation_confirmation.text.vi.html.erb +2 -2
  74. data/app/views/user_mailer/activation_confirmation.text.vi.plain.erb +2 -2
  75. data/app/views/user_mailer/activation_confirmation.text.zh-CN.html.erb +1 -1
  76. data/app/views/user_mailer/activation_confirmation.text.zh-CN.plain.erb +2 -2
  77. data/app/views/user_mailer/activation_confirmation.text.zh-TW.html.erb +1 -1
  78. data/app/views/user_mailer/activation_confirmation.text.zh-TW.plain.erb +2 -2
  79. data/app/views/user_mailer/activation_confirmation.text.zh.html.erb +1 -1
  80. data/app/views/user_mailer/activation_confirmation.text.zh.plain.erb +2 -2
  81. data/app/views/user_mailer/activation_instructions.text.ar.html.erb +1 -1
  82. data/app/views/user_mailer/activation_instructions.text.ar.plain.erb +2 -2
  83. data/app/views/user_mailer/activation_instructions.text.bg.html.erb +1 -1
  84. data/app/views/user_mailer/activation_instructions.text.bg.plain.erb +2 -2
  85. data/app/views/user_mailer/activation_instructions.text.ca.html.erb +1 -1
  86. data/app/views/user_mailer/activation_instructions.text.ca.plain.erb +2 -2
  87. data/app/views/user_mailer/activation_instructions.text.cs.html.erb +2 -2
  88. data/app/views/user_mailer/activation_instructions.text.cs.plain.erb +2 -2
  89. data/app/views/user_mailer/activation_instructions.text.da.html.erb +1 -1
  90. data/app/views/user_mailer/activation_instructions.text.da.plain.erb +2 -2
  91. data/app/views/user_mailer/activation_instructions.text.de.html.erb +1 -1
  92. data/app/views/user_mailer/activation_instructions.text.de.plain.erb +2 -2
  93. data/app/views/user_mailer/activation_instructions.text.el.html.erb +1 -1
  94. data/app/views/user_mailer/activation_instructions.text.el.plain.erb +2 -2
  95. data/app/views/user_mailer/activation_instructions.text.es.plain.erb +1 -1
  96. data/app/views/user_mailer/activation_instructions.text.et.html.erb +1 -1
  97. data/app/views/user_mailer/activation_instructions.text.et.plain.erb +2 -2
  98. data/app/views/user_mailer/activation_instructions.text.fa.html.erb +1 -1
  99. data/app/views/user_mailer/activation_instructions.text.fa.plain.erb +2 -2
  100. data/app/views/user_mailer/activation_instructions.text.fi.html.erb +1 -1
  101. data/app/views/user_mailer/activation_instructions.text.fi.plain.erb +2 -2
  102. data/app/views/user_mailer/activation_instructions.text.fr.plain.erb +1 -1
  103. data/app/views/user_mailer/activation_instructions.text.gl.html.erb +1 -1
  104. data/app/views/user_mailer/activation_instructions.text.gl.plain.erb +2 -2
  105. data/app/views/user_mailer/activation_instructions.text.hi.html.erb +1 -1
  106. data/app/views/user_mailer/activation_instructions.text.hi.plain.erb +2 -2
  107. data/app/views/user_mailer/activation_instructions.text.hr.html.erb +2 -2
  108. data/app/views/user_mailer/activation_instructions.text.hr.plain.erb +2 -2
  109. data/app/views/user_mailer/activation_instructions.text.hu.html.erb +1 -1
  110. data/app/views/user_mailer/activation_instructions.text.hu.plain.erb +3 -3
  111. data/app/views/user_mailer/activation_instructions.text.id.plain.erb +2 -2
  112. data/app/views/user_mailer/activation_instructions.text.it.html.erb +1 -1
  113. data/app/views/user_mailer/activation_instructions.text.it.plain.erb +3 -3
  114. data/app/views/user_mailer/activation_instructions.text.iw.plain.erb +1 -1
  115. data/app/views/user_mailer/activation_instructions.text.ja.html.erb +2 -2
  116. data/app/views/user_mailer/activation_instructions.text.ja.plain.erb +2 -2
  117. data/app/views/user_mailer/activation_instructions.text.ko.html.erb +2 -2
  118. data/app/views/user_mailer/activation_instructions.text.ko.plain.erb +3 -3
  119. data/app/views/user_mailer/activation_instructions.text.lt.html.erb +1 -1
  120. data/app/views/user_mailer/activation_instructions.text.lt.plain.erb +2 -2
  121. data/app/views/user_mailer/activation_instructions.text.lv.html.erb +1 -1
  122. data/app/views/user_mailer/activation_instructions.text.lv.plain.erb +2 -2
  123. data/app/views/user_mailer/activation_instructions.text.mt.html.erb +2 -2
  124. data/app/views/user_mailer/activation_instructions.text.mt.plain.erb +2 -2
  125. data/app/views/user_mailer/activation_instructions.text.nl.plain.erb +1 -1
  126. data/app/views/user_mailer/activation_instructions.text.no.html.erb +1 -1
  127. data/app/views/user_mailer/activation_instructions.text.no.plain.erb +2 -2
  128. data/app/views/user_mailer/activation_instructions.text.pl.html.erb +1 -1
  129. data/app/views/user_mailer/activation_instructions.text.pl.plain.erb +2 -2
  130. data/app/views/user_mailer/activation_instructions.text.pt-PT.html.erb +1 -1
  131. data/app/views/user_mailer/activation_instructions.text.pt-PT.plain.erb +1 -1
  132. data/app/views/user_mailer/activation_instructions.text.ro.html.erb +1 -1
  133. data/app/views/user_mailer/activation_instructions.text.ro.plain.erb +3 -3
  134. data/app/views/user_mailer/activation_instructions.text.ru.html.erb +2 -2
  135. data/app/views/user_mailer/activation_instructions.text.ru.plain.erb +2 -2
  136. data/app/views/user_mailer/activation_instructions.text.sk.html.erb +2 -2
  137. data/app/views/user_mailer/activation_instructions.text.sk.plain.erb +2 -2
  138. data/app/views/user_mailer/activation_instructions.text.sl.html.erb +2 -2
  139. data/app/views/user_mailer/activation_instructions.text.sl.plain.erb +3 -3
  140. data/app/views/user_mailer/activation_instructions.text.sq.html.erb +1 -1
  141. data/app/views/user_mailer/activation_instructions.text.sq.plain.erb +3 -3
  142. data/app/views/user_mailer/activation_instructions.text.sr.html.erb +2 -2
  143. data/app/views/user_mailer/activation_instructions.text.sr.plain.erb +2 -2
  144. data/app/views/user_mailer/activation_instructions.text.sv.html.erb +2 -2
  145. data/app/views/user_mailer/activation_instructions.text.sv.plain.erb +2 -2
  146. data/app/views/user_mailer/activation_instructions.text.th.html.erb +2 -2
  147. data/app/views/user_mailer/activation_instructions.text.th.plain.erb +2 -2
  148. data/app/views/user_mailer/activation_instructions.text.tl.html.erb +1 -1
  149. data/app/views/user_mailer/activation_instructions.text.tl.plain.erb +2 -2
  150. data/app/views/user_mailer/activation_instructions.text.tr.html.erb +2 -2
  151. data/app/views/user_mailer/activation_instructions.text.tr.plain.erb +3 -3
  152. data/app/views/user_mailer/activation_instructions.text.uk.html.erb +2 -2
  153. data/app/views/user_mailer/activation_instructions.text.uk.plain.erb +2 -2
  154. data/app/views/user_mailer/activation_instructions.text.vi.html.erb +1 -1
  155. data/app/views/user_mailer/activation_instructions.text.vi.plain.erb +3 -3
  156. data/app/views/user_mailer/activation_instructions.text.zh-CN.html.erb +1 -1
  157. data/app/views/user_mailer/activation_instructions.text.zh-CN.plain.erb +2 -2
  158. data/app/views/user_mailer/activation_instructions.text.zh-TW.html.erb +1 -1
  159. data/app/views/user_mailer/activation_instructions.text.zh-TW.plain.erb +2 -2
  160. data/app/views/user_mailer/activation_instructions.text.zh.html.erb +1 -1
  161. data/app/views/user_mailer/activation_instructions.text.zh.plain.erb +2 -2
  162. data/app/views/user_mailer/password_not_active_instructions.text.ar.html.erb +2 -2
  163. data/app/views/user_mailer/password_not_active_instructions.text.ar.plain.erb +3 -3
  164. data/app/views/user_mailer/password_not_active_instructions.text.bg.html.erb +3 -3
  165. data/app/views/user_mailer/password_not_active_instructions.text.bg.plain.erb +4 -4
  166. data/app/views/user_mailer/password_not_active_instructions.text.ca.html.erb +2 -2
  167. data/app/views/user_mailer/password_not_active_instructions.text.ca.plain.erb +3 -3
  168. data/app/views/user_mailer/password_not_active_instructions.text.cs.html.erb +3 -3
  169. data/app/views/user_mailer/password_not_active_instructions.text.cs.plain.erb +4 -4
  170. data/app/views/user_mailer/password_not_active_instructions.text.da.html.erb +1 -1
  171. data/app/views/user_mailer/password_not_active_instructions.text.da.plain.erb +2 -2
  172. data/app/views/user_mailer/password_not_active_instructions.text.de.html.erb +3 -3
  173. data/app/views/user_mailer/password_not_active_instructions.text.de.plain.erb +4 -4
  174. data/app/views/user_mailer/password_not_active_instructions.text.el.html.erb +4 -4
  175. data/app/views/user_mailer/password_not_active_instructions.text.el.plain.erb +5 -5
  176. data/app/views/user_mailer/password_not_active_instructions.text.es.html.erb +3 -3
  177. data/app/views/user_mailer/password_not_active_instructions.text.es.plain.erb +4 -4
  178. data/app/views/user_mailer/password_not_active_instructions.text.et.html.erb +3 -3
  179. data/app/views/user_mailer/password_not_active_instructions.text.et.plain.erb +4 -4
  180. data/app/views/user_mailer/password_not_active_instructions.text.fa.html.erb +3 -3
  181. data/app/views/user_mailer/password_not_active_instructions.text.fa.plain.erb +4 -4
  182. data/app/views/user_mailer/password_not_active_instructions.text.fi.html.erb +3 -3
  183. data/app/views/user_mailer/password_not_active_instructions.text.fi.plain.erb +4 -4
  184. data/app/views/user_mailer/password_not_active_instructions.text.fr.html.erb +2 -2
  185. data/app/views/user_mailer/password_not_active_instructions.text.fr.plain.erb +3 -3
  186. data/app/views/user_mailer/password_not_active_instructions.text.gl.html.erb +3 -3
  187. data/app/views/user_mailer/password_not_active_instructions.text.gl.plain.erb +4 -4
  188. data/app/views/user_mailer/password_not_active_instructions.text.hi.html.erb +2 -2
  189. data/app/views/user_mailer/password_not_active_instructions.text.hi.plain.erb +3 -3
  190. data/app/views/user_mailer/password_not_active_instructions.text.hr.html.erb +3 -3
  191. data/app/views/user_mailer/password_not_active_instructions.text.hr.plain.erb +4 -4
  192. data/app/views/user_mailer/password_not_active_instructions.text.hu.html.erb +2 -2
  193. data/app/views/user_mailer/password_not_active_instructions.text.hu.plain.erb +3 -3
  194. data/app/views/user_mailer/password_not_active_instructions.text.id.html.erb +1 -1
  195. data/app/views/user_mailer/password_not_active_instructions.text.id.plain.erb +2 -2
  196. data/app/views/user_mailer/password_not_active_instructions.text.it.html.erb +2 -2
  197. data/app/views/user_mailer/password_not_active_instructions.text.it.plain.erb +3 -3
  198. data/app/views/user_mailer/password_not_active_instructions.text.iw.html.erb +3 -3
  199. data/app/views/user_mailer/password_not_active_instructions.text.iw.plain.erb +4 -4
  200. data/app/views/user_mailer/password_not_active_instructions.text.ja.html.erb +4 -4
  201. data/app/views/user_mailer/password_not_active_instructions.text.ja.plain.erb +5 -5
  202. data/app/views/user_mailer/password_not_active_instructions.text.ko.html.erb +4 -4
  203. data/app/views/user_mailer/password_not_active_instructions.text.ko.plain.erb +5 -5
  204. data/app/views/user_mailer/password_not_active_instructions.text.lt.html.erb +3 -3
  205. data/app/views/user_mailer/password_not_active_instructions.text.lt.plain.erb +4 -4
  206. data/app/views/user_mailer/password_not_active_instructions.text.lv.html.erb +3 -3
  207. data/app/views/user_mailer/password_not_active_instructions.text.lv.plain.erb +4 -4
  208. data/app/views/user_mailer/password_not_active_instructions.text.mt.html.erb +4 -4
  209. data/app/views/user_mailer/password_not_active_instructions.text.mt.plain.erb +5 -5
  210. data/app/views/user_mailer/password_not_active_instructions.text.nl.html.erb +3 -3
  211. data/app/views/user_mailer/password_not_active_instructions.text.nl.plain.erb +4 -4
  212. data/app/views/user_mailer/password_not_active_instructions.text.no.html.erb +3 -3
  213. data/app/views/user_mailer/password_not_active_instructions.text.no.plain.erb +4 -4
  214. data/app/views/user_mailer/password_not_active_instructions.text.pl.html.erb +3 -3
  215. data/app/views/user_mailer/password_not_active_instructions.text.pl.plain.erb +4 -4
  216. data/app/views/user_mailer/password_not_active_instructions.text.pt-PT.html.erb +3 -3
  217. data/app/views/user_mailer/password_not_active_instructions.text.pt-PT.plain.erb +3 -3
  218. data/app/views/user_mailer/password_not_active_instructions.text.ro.html.erb +3 -3
  219. data/app/views/user_mailer/password_not_active_instructions.text.ro.plain.erb +4 -4
  220. data/app/views/user_mailer/password_not_active_instructions.text.ru.html.erb +4 -4
  221. data/app/views/user_mailer/password_not_active_instructions.text.ru.plain.erb +5 -5
  222. data/app/views/user_mailer/password_not_active_instructions.text.sk.html.erb +3 -3
  223. data/app/views/user_mailer/password_not_active_instructions.text.sk.plain.erb +4 -4
  224. data/app/views/user_mailer/password_not_active_instructions.text.sl.html.erb +4 -4
  225. data/app/views/user_mailer/password_not_active_instructions.text.sl.plain.erb +5 -5
  226. data/app/views/user_mailer/password_not_active_instructions.text.sq.html.erb +3 -3
  227. data/app/views/user_mailer/password_not_active_instructions.text.sq.plain.erb +4 -4
  228. data/app/views/user_mailer/password_not_active_instructions.text.sr.html.erb +3 -3
  229. data/app/views/user_mailer/password_not_active_instructions.text.sr.plain.erb +4 -4
  230. data/app/views/user_mailer/password_not_active_instructions.text.sv.html.erb +4 -4
  231. data/app/views/user_mailer/password_not_active_instructions.text.sv.plain.erb +5 -5
  232. data/app/views/user_mailer/password_not_active_instructions.text.th.html.erb +4 -4
  233. data/app/views/user_mailer/password_not_active_instructions.text.th.plain.erb +5 -5
  234. data/app/views/user_mailer/password_not_active_instructions.text.tl.html.erb +3 -3
  235. data/app/views/user_mailer/password_not_active_instructions.text.tl.plain.erb +4 -4
  236. data/app/views/user_mailer/password_not_active_instructions.text.tr.html.erb +4 -4
  237. data/app/views/user_mailer/password_not_active_instructions.text.tr.plain.erb +5 -5
  238. data/app/views/user_mailer/password_not_active_instructions.text.uk.html.erb +4 -4
  239. data/app/views/user_mailer/password_not_active_instructions.text.uk.plain.erb +5 -5
  240. data/app/views/user_mailer/password_not_active_instructions.text.vi.html.erb +2 -2
  241. data/app/views/user_mailer/password_not_active_instructions.text.vi.plain.erb +3 -3
  242. data/app/views/user_mailer/password_not_active_instructions.text.zh-CN.html.erb +3 -3
  243. data/app/views/user_mailer/password_not_active_instructions.text.zh-CN.plain.erb +4 -4
  244. data/app/views/user_mailer/password_not_active_instructions.text.zh-TW.html.erb +3 -3
  245. data/app/views/user_mailer/password_not_active_instructions.text.zh-TW.plain.erb +4 -4
  246. data/app/views/user_mailer/password_not_active_instructions.text.zh.html.erb +3 -3
  247. data/app/views/user_mailer/password_not_active_instructions.text.zh.plain.erb +4 -4
  248. data/app/views/user_mailer/password_reset_instructions.text.ar.html.erb +2 -2
  249. data/app/views/user_mailer/password_reset_instructions.text.ar.plain.erb +4 -4
  250. data/app/views/user_mailer/password_reset_instructions.text.bg.html.erb +3 -3
  251. data/app/views/user_mailer/password_reset_instructions.text.bg.plain.erb +5 -5
  252. data/app/views/user_mailer/password_reset_instructions.text.ca.html.erb +3 -3
  253. data/app/views/user_mailer/password_reset_instructions.text.ca.plain.erb +5 -5
  254. data/app/views/user_mailer/password_reset_instructions.text.cs.html.erb +3 -3
  255. data/app/views/user_mailer/password_reset_instructions.text.cs.plain.erb +5 -5
  256. data/app/views/user_mailer/password_reset_instructions.text.da.html.erb +1 -1
  257. data/app/views/user_mailer/password_reset_instructions.text.da.plain.erb +2 -2
  258. data/app/views/user_mailer/password_reset_instructions.text.de.html.erb +3 -3
  259. data/app/views/user_mailer/password_reset_instructions.text.de.plain.erb +5 -5
  260. data/app/views/user_mailer/password_reset_instructions.text.el.html.erb +4 -4
  261. data/app/views/user_mailer/password_reset_instructions.text.el.plain.erb +6 -6
  262. data/app/views/user_mailer/password_reset_instructions.text.es.html.erb +2 -2
  263. data/app/views/user_mailer/password_reset_instructions.text.es.plain.erb +4 -4
  264. data/app/views/user_mailer/password_reset_instructions.text.et.html.erb +3 -3
  265. data/app/views/user_mailer/password_reset_instructions.text.et.plain.erb +5 -5
  266. data/app/views/user_mailer/password_reset_instructions.text.fa.html.erb +3 -3
  267. data/app/views/user_mailer/password_reset_instructions.text.fa.plain.erb +5 -5
  268. data/app/views/user_mailer/password_reset_instructions.text.fi.html.erb +2 -2
  269. data/app/views/user_mailer/password_reset_instructions.text.fi.plain.erb +4 -4
  270. data/app/views/user_mailer/password_reset_instructions.text.fr.html.erb +2 -2
  271. data/app/views/user_mailer/password_reset_instructions.text.fr.plain.erb +4 -4
  272. data/app/views/user_mailer/password_reset_instructions.text.gl.html.erb +3 -3
  273. data/app/views/user_mailer/password_reset_instructions.text.gl.plain.erb +5 -5
  274. data/app/views/user_mailer/password_reset_instructions.text.hi.html.erb +1 -1
  275. data/app/views/user_mailer/password_reset_instructions.text.hi.plain.erb +3 -3
  276. data/app/views/user_mailer/password_reset_instructions.text.hr.html.erb +3 -3
  277. data/app/views/user_mailer/password_reset_instructions.text.hr.plain.erb +4 -4
  278. data/app/views/user_mailer/password_reset_instructions.text.hu.html.erb +2 -2
  279. data/app/views/user_mailer/password_reset_instructions.text.hu.plain.erb +4 -4
  280. data/app/views/user_mailer/password_reset_instructions.text.id.html.erb +2 -2
  281. data/app/views/user_mailer/password_reset_instructions.text.id.plain.erb +3 -3
  282. data/app/views/user_mailer/password_reset_instructions.text.it.html.erb +2 -2
  283. data/app/views/user_mailer/password_reset_instructions.text.it.plain.erb +4 -4
  284. data/app/views/user_mailer/password_reset_instructions.text.iw.html.erb +3 -3
  285. data/app/views/user_mailer/password_reset_instructions.text.iw.plain.erb +4 -4
  286. data/app/views/user_mailer/password_reset_instructions.text.ja.html.erb +4 -4
  287. data/app/views/user_mailer/password_reset_instructions.text.ja.plain.erb +6 -6
  288. data/app/views/user_mailer/password_reset_instructions.text.ko.html.erb +4 -4
  289. data/app/views/user_mailer/password_reset_instructions.text.ko.plain.erb +6 -6
  290. data/app/views/user_mailer/password_reset_instructions.text.lt.html.erb +3 -3
  291. data/app/views/user_mailer/password_reset_instructions.text.lt.plain.erb +5 -5
  292. data/app/views/user_mailer/password_reset_instructions.text.lv.html.erb +2 -2
  293. data/app/views/user_mailer/password_reset_instructions.text.lv.plain.erb +3 -3
  294. data/app/views/user_mailer/password_reset_instructions.text.mt.html.erb +4 -4
  295. data/app/views/user_mailer/password_reset_instructions.text.mt.plain.erb +6 -6
  296. data/app/views/user_mailer/password_reset_instructions.text.nl.html.erb +3 -3
  297. data/app/views/user_mailer/password_reset_instructions.text.nl.plain.erb +5 -5
  298. data/app/views/user_mailer/password_reset_instructions.text.no.html.erb +3 -3
  299. data/app/views/user_mailer/password_reset_instructions.text.no.plain.erb +4 -4
  300. data/app/views/user_mailer/password_reset_instructions.text.pl.html.erb +3 -3
  301. data/app/views/user_mailer/password_reset_instructions.text.pl.plain.erb +5 -5
  302. data/app/views/user_mailer/password_reset_instructions.text.pt-PT.html.erb +3 -3
  303. data/app/views/user_mailer/password_reset_instructions.text.pt-PT.plain.erb +4 -4
  304. data/app/views/user_mailer/password_reset_instructions.text.ro.html.erb +3 -3
  305. data/app/views/user_mailer/password_reset_instructions.text.ro.plain.erb +4 -4
  306. data/app/views/user_mailer/password_reset_instructions.text.ru.html.erb +4 -4
  307. data/app/views/user_mailer/password_reset_instructions.text.ru.plain.erb +6 -6
  308. data/app/views/user_mailer/password_reset_instructions.text.sk.html.erb +3 -3
  309. data/app/views/user_mailer/password_reset_instructions.text.sk.plain.erb +5 -5
  310. data/app/views/user_mailer/password_reset_instructions.text.sl.html.erb +4 -4
  311. data/app/views/user_mailer/password_reset_instructions.text.sl.plain.erb +6 -6
  312. data/app/views/user_mailer/password_reset_instructions.text.sq.html.erb +3 -3
  313. data/app/views/user_mailer/password_reset_instructions.text.sq.plain.erb +5 -5
  314. data/app/views/user_mailer/password_reset_instructions.text.sr.html.erb +2 -2
  315. data/app/views/user_mailer/password_reset_instructions.text.sr.plain.erb +4 -4
  316. data/app/views/user_mailer/password_reset_instructions.text.sv.html.erb +4 -4
  317. data/app/views/user_mailer/password_reset_instructions.text.sv.plain.erb +6 -6
  318. data/app/views/user_mailer/password_reset_instructions.text.th.html.erb +4 -4
  319. data/app/views/user_mailer/password_reset_instructions.text.th.plain.erb +6 -6
  320. data/app/views/user_mailer/password_reset_instructions.text.tl.html.erb +3 -3
  321. data/app/views/user_mailer/password_reset_instructions.text.tl.plain.erb +5 -5
  322. data/app/views/user_mailer/password_reset_instructions.text.tr.html.erb +4 -4
  323. data/app/views/user_mailer/password_reset_instructions.text.tr.plain.erb +6 -6
  324. data/app/views/user_mailer/password_reset_instructions.text.uk.html.erb +4 -4
  325. data/app/views/user_mailer/password_reset_instructions.text.uk.plain.erb +6 -6
  326. data/app/views/user_mailer/password_reset_instructions.text.vi.html.erb +2 -2
  327. data/app/views/user_mailer/password_reset_instructions.text.vi.plain.erb +3 -3
  328. data/app/views/user_mailer/password_reset_instructions.text.zh-CN.html.erb +3 -3
  329. data/app/views/user_mailer/password_reset_instructions.text.zh-CN.plain.erb +4 -4
  330. data/app/views/user_mailer/password_reset_instructions.text.zh-TW.html.erb +3 -3
  331. data/app/views/user_mailer/password_reset_instructions.text.zh-TW.plain.erb +4 -4
  332. data/app/views/user_mailer/password_reset_instructions.text.zh.html.erb +3 -3
  333. data/app/views/user_mailer/password_reset_instructions.text.zh.plain.erb +4 -4
  334. data/app/views/user_mailer/username_request.text.ar.html.erb +1 -1
  335. data/app/views/user_mailer/username_request.text.ar.plain.erb +1 -1
  336. data/app/views/user_mailer/username_request.text.cs.html.erb +1 -1
  337. data/app/views/user_mailer/username_request.text.el.html.erb +2 -2
  338. data/app/views/user_mailer/username_request.text.el.plain.erb +1 -1
  339. data/app/views/user_mailer/username_request.text.fa.html.erb +1 -1
  340. data/app/views/user_mailer/username_request.text.fa.plain.erb +1 -1
  341. data/app/views/user_mailer/username_request.text.fr.html.erb +1 -1
  342. data/app/views/user_mailer/username_request.text.fr.plain.erb +1 -1
  343. data/app/views/user_mailer/username_request.text.gl.html.erb +1 -1
  344. data/app/views/user_mailer/username_request.text.gl.plain.erb +1 -1
  345. data/app/views/user_mailer/username_request.text.hi.html.erb +1 -1
  346. data/app/views/user_mailer/username_request.text.hi.plain.erb +1 -1
  347. data/app/views/user_mailer/username_request.text.hr.html.erb +1 -1
  348. data/app/views/user_mailer/username_request.text.hu.html.erb +1 -1
  349. data/app/views/user_mailer/username_request.text.hu.plain.erb +1 -1
  350. data/app/views/user_mailer/username_request.text.it.html.erb +1 -1
  351. data/app/views/user_mailer/username_request.text.it.plain.erb +1 -1
  352. data/app/views/user_mailer/username_request.text.iw.html.erb +1 -1
  353. data/app/views/user_mailer/username_request.text.iw.plain.erb +1 -1
  354. data/app/views/user_mailer/username_request.text.ja.html.erb +2 -2
  355. data/app/views/user_mailer/username_request.text.ja.plain.erb +1 -1
  356. data/app/views/user_mailer/username_request.text.ko.html.erb +1 -1
  357. data/app/views/user_mailer/username_request.text.lt.html.erb +1 -1
  358. data/app/views/user_mailer/username_request.text.lt.plain.erb +1 -1
  359. data/app/views/user_mailer/username_request.text.lv.html.erb +1 -1
  360. data/app/views/user_mailer/username_request.text.lv.plain.erb +1 -1
  361. data/app/views/user_mailer/username_request.text.mt.html.erb +2 -2
  362. data/app/views/user_mailer/username_request.text.mt.plain.erb +1 -1
  363. data/app/views/user_mailer/username_request.text.no.html.erb +1 -1
  364. data/app/views/user_mailer/username_request.text.no.plain.erb +1 -1
  365. data/app/views/user_mailer/username_request.text.ro.html.erb +1 -1
  366. data/app/views/user_mailer/username_request.text.ro.plain.erb +1 -1
  367. data/app/views/user_mailer/username_request.text.ru.html.erb +2 -2
  368. data/app/views/user_mailer/username_request.text.ru.plain.erb +1 -1
  369. data/app/views/user_mailer/username_request.text.sk.html.erb +1 -1
  370. data/app/views/user_mailer/username_request.text.sl.html.erb +1 -1
  371. data/app/views/user_mailer/username_request.text.sq.html.erb +1 -1
  372. data/app/views/user_mailer/username_request.text.sq.plain.erb +1 -1
  373. data/app/views/user_mailer/username_request.text.sr.html.erb +1 -1
  374. data/app/views/user_mailer/username_request.text.sv.html.erb +1 -1
  375. data/app/views/user_mailer/username_request.text.th.html.erb +2 -2
  376. data/app/views/user_mailer/username_request.text.th.plain.erb +1 -1
  377. data/app/views/user_mailer/username_request.text.tr.html.erb +1 -1
  378. data/app/views/user_mailer/username_request.text.uk.html.erb +2 -2
  379. data/app/views/user_mailer/username_request.text.uk.plain.erb +1 -1
  380. data/app/views/user_mailer/username_request.text.zh-CN.html.erb +1 -1
  381. data/app/views/user_mailer/username_request.text.zh-CN.plain.erb +1 -1
  382. data/app/views/user_mailer/username_request.text.zh-TW.html.erb +1 -1
  383. data/app/views/user_mailer/username_request.text.zh-TW.plain.erb +1 -1
  384. data/app/views/user_mailer/username_request.text.zh.html.erb +1 -1
  385. data/app/views/user_mailer/username_request.text.zh.plain.erb +1 -1
  386. data/app/views/user_mailer/welcome_notification.text.ar.html.erb +1 -1
  387. data/app/views/user_mailer/welcome_notification.text.ar.plain.erb +2 -2
  388. data/app/views/user_mailer/welcome_notification.text.bg.html.erb +2 -2
  389. data/app/views/user_mailer/welcome_notification.text.bg.plain.erb +2 -2
  390. data/app/views/user_mailer/welcome_notification.text.ca.html.erb +2 -2
  391. data/app/views/user_mailer/welcome_notification.text.ca.plain.erb +1 -1
  392. data/app/views/user_mailer/welcome_notification.text.cs.html.erb +2 -2
  393. data/app/views/user_mailer/welcome_notification.text.cs.plain.erb +2 -2
  394. data/app/views/user_mailer/welcome_notification.text.da.html.erb +1 -1
  395. data/app/views/user_mailer/welcome_notification.text.da.plain.erb +1 -1
  396. data/app/views/user_mailer/welcome_notification.text.de.html.erb +2 -2
  397. data/app/views/user_mailer/welcome_notification.text.de.plain.erb +2 -2
  398. data/app/views/user_mailer/welcome_notification.text.el.html.erb +1 -1
  399. data/app/views/user_mailer/welcome_notification.text.el.plain.erb +2 -2
  400. data/app/views/user_mailer/welcome_notification.text.es.html.erb +2 -2
  401. data/app/views/user_mailer/welcome_notification.text.es.plain.erb +1 -1
  402. data/app/views/user_mailer/welcome_notification.text.et.html.erb +1 -1
  403. data/app/views/user_mailer/welcome_notification.text.et.plain.erb +1 -1
  404. data/app/views/user_mailer/welcome_notification.text.fa.html.erb +2 -2
  405. data/app/views/user_mailer/welcome_notification.text.fa.plain.erb +2 -2
  406. data/app/views/user_mailer/welcome_notification.text.fi.html.erb +2 -2
  407. data/app/views/user_mailer/welcome_notification.text.fi.plain.erb +2 -2
  408. data/app/views/user_mailer/welcome_notification.text.gl.html.erb +2 -2
  409. data/app/views/user_mailer/welcome_notification.text.gl.plain.erb +2 -2
  410. data/app/views/user_mailer/welcome_notification.text.hi.html.erb +2 -2
  411. data/app/views/user_mailer/welcome_notification.text.hi.plain.erb +2 -2
  412. data/app/views/user_mailer/welcome_notification.text.hr.html.erb +3 -3
  413. data/app/views/user_mailer/welcome_notification.text.hr.plain.erb +3 -3
  414. data/app/views/user_mailer/welcome_notification.text.hu.html.erb +2 -2
  415. data/app/views/user_mailer/welcome_notification.text.hu.plain.erb +2 -2
  416. data/app/views/user_mailer/welcome_notification.text.id.html.erb +1 -1
  417. data/app/views/user_mailer/welcome_notification.text.id.plain.erb +1 -1
  418. data/app/views/user_mailer/welcome_notification.text.it.html.erb +1 -1
  419. data/app/views/user_mailer/welcome_notification.text.it.plain.erb +1 -1
  420. data/app/views/user_mailer/welcome_notification.text.iw.html.erb +1 -1
  421. data/app/views/user_mailer/welcome_notification.text.ja.html.erb +3 -3
  422. data/app/views/user_mailer/welcome_notification.text.ja.plain.erb +3 -3
  423. data/app/views/user_mailer/welcome_notification.text.ko.html.erb +3 -3
  424. data/app/views/user_mailer/welcome_notification.text.ko.plain.erb +2 -2
  425. data/app/views/user_mailer/welcome_notification.text.lt.html.erb +1 -1
  426. data/app/views/user_mailer/welcome_notification.text.lt.plain.erb +1 -1
  427. data/app/views/user_mailer/welcome_notification.text.lv.html.erb +2 -2
  428. data/app/views/user_mailer/welcome_notification.text.lv.plain.erb +1 -1
  429. data/app/views/user_mailer/welcome_notification.text.mt.html.erb +2 -2
  430. data/app/views/user_mailer/welcome_notification.text.mt.plain.erb +3 -3
  431. data/app/views/user_mailer/welcome_notification.text.nl.html.erb +2 -2
  432. data/app/views/user_mailer/welcome_notification.text.nl.plain.erb +2 -2
  433. data/app/views/user_mailer/welcome_notification.text.no.html.erb +2 -2
  434. data/app/views/user_mailer/welcome_notification.text.no.plain.erb +1 -1
  435. data/app/views/user_mailer/welcome_notification.text.pl.html.erb +2 -2
  436. data/app/views/user_mailer/welcome_notification.text.pl.plain.erb +1 -1
  437. data/app/views/user_mailer/welcome_notification.text.pt-PT.html.erb +1 -1
  438. data/app/views/user_mailer/welcome_notification.text.pt-PT.plain.erb +1 -1
  439. data/app/views/user_mailer/welcome_notification.text.ro.plain.erb +1 -1
  440. data/app/views/user_mailer/welcome_notification.text.ru.html.erb +2 -2
  441. data/app/views/user_mailer/welcome_notification.text.ru.plain.erb +2 -2
  442. data/app/views/user_mailer/welcome_notification.text.sk.html.erb +2 -2
  443. data/app/views/user_mailer/welcome_notification.text.sk.plain.erb +2 -2
  444. data/app/views/user_mailer/welcome_notification.text.sl.html.erb +3 -3
  445. data/app/views/user_mailer/welcome_notification.text.sl.plain.erb +3 -3
  446. data/app/views/user_mailer/welcome_notification.text.sq.html.erb +1 -1
  447. data/app/views/user_mailer/welcome_notification.text.sq.plain.erb +1 -1
  448. data/app/views/user_mailer/welcome_notification.text.sr.html.erb +3 -3
  449. data/app/views/user_mailer/welcome_notification.text.sr.plain.erb +3 -3
  450. data/app/views/user_mailer/welcome_notification.text.sv.html.erb +1 -1
  451. data/app/views/user_mailer/welcome_notification.text.sv.plain.erb +1 -1
  452. data/app/views/user_mailer/welcome_notification.text.th.html.erb +3 -3
  453. data/app/views/user_mailer/welcome_notification.text.th.plain.erb +3 -3
  454. data/app/views/user_mailer/welcome_notification.text.tr.html.erb +2 -2
  455. data/app/views/user_mailer/welcome_notification.text.tr.plain.erb +2 -2
  456. data/app/views/user_mailer/welcome_notification.text.uk.html.erb +2 -2
  457. data/app/views/user_mailer/welcome_notification.text.uk.plain.erb +2 -2
  458. data/app/views/user_mailer/welcome_notification.text.vi.html.erb +1 -1
  459. data/app/views/user_mailer/welcome_notification.text.vi.plain.erb +1 -1
  460. data/app/views/user_mailer/welcome_notification.text.zh-CN.html.erb +1 -1
  461. data/app/views/user_mailer/welcome_notification.text.zh-TW.html.erb +1 -1
  462. data/app/views/user_mailer/welcome_notification.text.zh.html.erb +1 -1
  463. data/config/muck_users_routes.rb +7 -7
  464. data/locales/en.yml +113 -116
  465. data/locales/ja.yml +1 -1
  466. data/muck-users.gemspec +407 -2
  467. data/test/rails_root/config/database.yml +12 -11
  468. data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
  469. data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
  470. data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
  471. data/test/rails_root/lib/tasks/muck.rake +7 -0
  472. data/test/rails_root/public/images/arrow_down.gif +0 -0
  473. data/test/rails_root/public/images/arrow_up.gif +0 -0
  474. data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
  475. data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
  476. data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
  477. data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
  478. data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
  479. data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
  480. data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
  481. data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
  482. data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
  483. data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
  484. data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
  485. data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
  486. data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
  487. data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
  488. data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
  489. data/test/rails_root/public/images/icons/blue_guy.png +0 -0
  490. data/test/rails_root/public/images/icons/button_background.png +0 -0
  491. data/test/rails_root/public/images/icons/cancel.png +0 -0
  492. data/test/rails_root/public/images/icons/close.png +0 -0
  493. data/test/rails_root/public/images/icons/comment.png +0 -0
  494. data/test/rails_root/public/images/icons/exclaim.png +0 -0
  495. data/test/rails_root/public/images/icons/external.png +0 -0
  496. data/test/rails_root/public/images/icons/feed.png +0 -0
  497. data/test/rails_root/public/images/icons/grey_guy.png +0 -0
  498. data/test/rails_root/public/images/icons/hide.png +0 -0
  499. data/test/rails_root/public/images/icons/information.png +0 -0
  500. data/test/rails_root/public/images/icons/minus.png +0 -0
  501. data/test/rails_root/public/images/icons/pending.png +0 -0
  502. data/test/rails_root/public/images/icons/question.png +0 -0
  503. data/test/rails_root/public/images/icons/search_box.png +0 -0
  504. data/test/rails_root/public/images/icons/star.png +0 -0
  505. data/test/rails_root/public/images/icons/stop.png +0 -0
  506. data/test/rails_root/public/images/icons/thumb_down.png +0 -0
  507. data/test/rails_root/public/images/icons/thumb_up.png +0 -0
  508. data/test/rails_root/public/images/nothing.png +0 -0
  509. data/test/rails_root/public/images/service_icons/16/amazon.png +0 -0
  510. data/test/rails_root/public/images/service_icons/16/ask.png +0 -0
  511. data/test/rails_root/public/images/service_icons/16/bibsonomy.png +0 -0
  512. data/test/rails_root/public/images/service_icons/16/bing.png +0 -0
  513. data/test/rails_root/public/images/service_icons/16/blogger.png +0 -0
  514. data/test/rails_root/public/images/service_icons/16/bloglines.png +0 -0
  515. data/test/rails_root/public/images/service_icons/16/citeulike.png +0 -0
  516. data/test/rails_root/public/images/service_icons/16/clipmarks.png +0 -0
  517. data/test/rails_root/public/images/service_icons/16/connotea.png +0 -0
  518. data/test/rails_root/public/images/service_icons/16/dailymotion.png +0 -0
  519. data/test/rails_root/public/images/service_icons/16/delicious.png +0 -0
  520. data/test/rails_root/public/images/service_icons/16/digg.png +0 -0
  521. data/test/rails_root/public/images/service_icons/16/diigo.png +0 -0
  522. data/test/rails_root/public/images/service_icons/16/facebook.png +0 -0
  523. data/test/rails_root/public/images/service_icons/16/feed.png +0 -0
  524. data/test/rails_root/public/images/service_icons/16/fireeagle.png +0 -0
  525. data/test/rails_root/public/images/service_icons/16/flickr.png +0 -0
  526. data/test/rails_root/public/images/service_icons/16/fotolog.png +0 -0
  527. data/test/rails_root/public/images/service_icons/16/friendfeed.png +0 -0
  528. data/test/rails_root/public/images/service_icons/16/friendster.png +0 -0
  529. data/test/rails_root/public/images/service_icons/16/furl.png +0 -0
  530. data/test/rails_root/public/images/service_icons/16/goodreads.png +0 -0
  531. data/test/rails_root/public/images/service_icons/16/google.png +0 -0
  532. data/test/rails_root/public/images/service_icons/16/googleblog.png +0 -0
  533. data/test/rails_root/public/images/service_icons/16/googlenews.png +0 -0
  534. data/test/rails_root/public/images/service_icons/16/icerocket.png +0 -0
  535. data/test/rails_root/public/images/service_icons/16/identica.png +0 -0
  536. data/test/rails_root/public/images/service_icons/16/joost.png +0 -0
  537. data/test/rails_root/public/images/service_icons/16/lastfm.png +0 -0
  538. data/test/rails_root/public/images/service_icons/16/librarything.png +0 -0
  539. data/test/rails_root/public/images/service_icons/16/linkedin.png +0 -0
  540. data/test/rails_root/public/images/service_icons/16/livejournal.png +0 -0
  541. data/test/rails_root/public/images/service_icons/16/magnolia.png +0 -0
  542. data/test/rails_root/public/images/service_icons/16/mendeley.png +0 -0
  543. data/test/rails_root/public/images/service_icons/16/metacafe.png +0 -0
  544. data/test/rails_root/public/images/service_icons/16/mixx.png +0 -0
  545. data/test/rails_root/public/images/service_icons/16/myspace.png +0 -0
  546. data/test/rails_root/public/images/service_icons/16/netflix.png +0 -0
  547. data/test/rails_root/public/images/service_icons/16/netvibes.png +0 -0
  548. data/test/rails_root/public/images/service_icons/16/newsvine.png +0 -0
  549. data/test/rails_root/public/images/service_icons/16/oai.png +0 -0
  550. data/test/rails_root/public/images/service_icons/16/odeo.png +0 -0
  551. data/test/rails_root/public/images/service_icons/16/opml.png +0 -0
  552. data/test/rails_root/public/images/service_icons/16/pandora.png +0 -0
  553. data/test/rails_root/public/images/service_icons/16/photobucket.png +0 -0
  554. data/test/rails_root/public/images/service_icons/16/picasa.png +0 -0
  555. data/test/rails_root/public/images/service_icons/16/polyvore.png +0 -0
  556. data/test/rails_root/public/images/service_icons/16/pownce.png +0 -0
  557. data/test/rails_root/public/images/service_icons/16/reddit.png +0 -0
  558. data/test/rails_root/public/images/service_icons/16/simpy.png +0 -0
  559. data/test/rails_root/public/images/service_icons/16/smugmug.png +0 -0
  560. data/test/rails_root/public/images/service_icons/16/stumbleupon.png +0 -0
  561. data/test/rails_root/public/images/service_icons/16/tag.png +0 -0
  562. data/test/rails_root/public/images/service_icons/16/technorati.png +0 -0
  563. data/test/rails_root/public/images/service_icons/16/tumblr.png +0 -0
  564. data/test/rails_root/public/images/service_icons/16/twine.png +0 -0
  565. data/test/rails_root/public/images/service_icons/16/twitter.png +0 -0
  566. data/test/rails_root/public/images/service_icons/16/vimeo.png +0 -0
  567. data/test/rails_root/public/images/service_icons/16/webshots.png +0 -0
  568. data/test/rails_root/public/images/service_icons/16/wordpress.png +0 -0
  569. data/test/rails_root/public/images/service_icons/16/xanga.png +0 -0
  570. data/test/rails_root/public/images/service_icons/16/yahoo.png +0 -0
  571. data/test/rails_root/public/images/service_icons/16/yelp.png +0 -0
  572. data/test/rails_root/public/images/service_icons/16/youtube.png +0 -0
  573. data/test/rails_root/public/images/service_icons/16/zooomr.png +0 -0
  574. data/test/rails_root/public/images/service_icons/16/zotero.png +0 -0
  575. data/test/rails_root/public/images/service_icons/24/amazon.png +0 -0
  576. data/test/rails_root/public/images/service_icons/24/ask.png +0 -0
  577. data/test/rails_root/public/images/service_icons/24/bibsonomy.png +0 -0
  578. data/test/rails_root/public/images/service_icons/24/bing.png +0 -0
  579. data/test/rails_root/public/images/service_icons/24/blogger.png +0 -0
  580. data/test/rails_root/public/images/service_icons/24/bloglines.png +0 -0
  581. data/test/rails_root/public/images/service_icons/24/citeulike.png +0 -0
  582. data/test/rails_root/public/images/service_icons/24/clipmarks.png +0 -0
  583. data/test/rails_root/public/images/service_icons/24/connotea.png +0 -0
  584. data/test/rails_root/public/images/service_icons/24/dailymotion.png +0 -0
  585. data/test/rails_root/public/images/service_icons/24/delicious.png +0 -0
  586. data/test/rails_root/public/images/service_icons/24/digg.png +0 -0
  587. data/test/rails_root/public/images/service_icons/24/diigo.png +0 -0
  588. data/test/rails_root/public/images/service_icons/24/facebook.png +0 -0
  589. data/test/rails_root/public/images/service_icons/24/feed.png +0 -0
  590. data/test/rails_root/public/images/service_icons/24/fireeagle.png +0 -0
  591. data/test/rails_root/public/images/service_icons/24/flickr.png +0 -0
  592. data/test/rails_root/public/images/service_icons/24/fotolog.png +0 -0
  593. data/test/rails_root/public/images/service_icons/24/friendfeed.png +0 -0
  594. data/test/rails_root/public/images/service_icons/24/friendster.png +0 -0
  595. data/test/rails_root/public/images/service_icons/24/furl.png +0 -0
  596. data/test/rails_root/public/images/service_icons/24/goodreads.png +0 -0
  597. data/test/rails_root/public/images/service_icons/24/google.png +0 -0
  598. data/test/rails_root/public/images/service_icons/24/googleblog.png +0 -0
  599. data/test/rails_root/public/images/service_icons/24/googlenews.png +0 -0
  600. data/test/rails_root/public/images/service_icons/24/icerocket.png +0 -0
  601. data/test/rails_root/public/images/service_icons/24/identica.png +0 -0
  602. data/test/rails_root/public/images/service_icons/24/joost.png +0 -0
  603. data/test/rails_root/public/images/service_icons/24/lastfm.png +0 -0
  604. data/test/rails_root/public/images/service_icons/24/librarything.png +0 -0
  605. data/test/rails_root/public/images/service_icons/24/linkedin.png +0 -0
  606. data/test/rails_root/public/images/service_icons/24/livejournal.png +0 -0
  607. data/test/rails_root/public/images/service_icons/24/magnolia.png +0 -0
  608. data/test/rails_root/public/images/service_icons/24/mendeley.png +0 -0
  609. data/test/rails_root/public/images/service_icons/24/metacafe.png +0 -0
  610. data/test/rails_root/public/images/service_icons/24/mixx.png +0 -0
  611. data/test/rails_root/public/images/service_icons/24/myspace.png +0 -0
  612. data/test/rails_root/public/images/service_icons/24/netflix.png +0 -0
  613. data/test/rails_root/public/images/service_icons/24/netvibes.png +0 -0
  614. data/test/rails_root/public/images/service_icons/24/newsvine.png +0 -0
  615. data/test/rails_root/public/images/service_icons/24/oai.png +0 -0
  616. data/test/rails_root/public/images/service_icons/24/odeo.png +0 -0
  617. data/test/rails_root/public/images/service_icons/24/opml.png +0 -0
  618. data/test/rails_root/public/images/service_icons/24/pandora.png +0 -0
  619. data/test/rails_root/public/images/service_icons/24/photobucket.png +0 -0
  620. data/test/rails_root/public/images/service_icons/24/picasa.png +0 -0
  621. data/test/rails_root/public/images/service_icons/24/polyvore.png +0 -0
  622. data/test/rails_root/public/images/service_icons/24/pownce.png +0 -0
  623. data/test/rails_root/public/images/service_icons/24/reddit.png +0 -0
  624. data/test/rails_root/public/images/service_icons/24/simpy.png +0 -0
  625. data/test/rails_root/public/images/service_icons/24/smugmug.png +0 -0
  626. data/test/rails_root/public/images/service_icons/24/stumbleupon.png +0 -0
  627. data/test/rails_root/public/images/service_icons/24/tag.png +0 -0
  628. data/test/rails_root/public/images/service_icons/24/technorati.png +0 -0
  629. data/test/rails_root/public/images/service_icons/24/tumblr.png +0 -0
  630. data/test/rails_root/public/images/service_icons/24/twine.png +0 -0
  631. data/test/rails_root/public/images/service_icons/24/twitter.png +0 -0
  632. data/test/rails_root/public/images/service_icons/24/vimeo.png +0 -0
  633. data/test/rails_root/public/images/service_icons/24/webshots.png +0 -0
  634. data/test/rails_root/public/images/service_icons/24/wordpress.png +0 -0
  635. data/test/rails_root/public/images/service_icons/24/xanga.png +0 -0
  636. data/test/rails_root/public/images/service_icons/24/yahoo.png +0 -0
  637. data/test/rails_root/public/images/service_icons/24/yelp.png +0 -0
  638. data/test/rails_root/public/images/service_icons/24/youtube.png +0 -0
  639. data/test/rails_root/public/images/service_icons/24/zooomr.png +0 -0
  640. data/test/rails_root/public/images/service_icons/24/zotero.png +0 -0
  641. data/test/rails_root/public/images/service_icons/48/amazon.png +0 -0
  642. data/test/rails_root/public/images/service_icons/48/ask.png +0 -0
  643. data/test/rails_root/public/images/service_icons/48/bibsonomy.png +0 -0
  644. data/test/rails_root/public/images/service_icons/48/bing.png +0 -0
  645. data/test/rails_root/public/images/service_icons/48/blogger.png +0 -0
  646. data/test/rails_root/public/images/service_icons/48/bloglines.png +0 -0
  647. data/test/rails_root/public/images/service_icons/48/citeulike.png +0 -0
  648. data/test/rails_root/public/images/service_icons/48/clipmarks.png +0 -0
  649. data/test/rails_root/public/images/service_icons/48/connotea.png +0 -0
  650. data/test/rails_root/public/images/service_icons/48/dailymotion.png +0 -0
  651. data/test/rails_root/public/images/service_icons/48/delicious.png +0 -0
  652. data/test/rails_root/public/images/service_icons/48/digg.png +0 -0
  653. data/test/rails_root/public/images/service_icons/48/diigo.png +0 -0
  654. data/test/rails_root/public/images/service_icons/48/facebook.png +0 -0
  655. data/test/rails_root/public/images/service_icons/48/feed.png +0 -0
  656. data/test/rails_root/public/images/service_icons/48/fireeagle.png +0 -0
  657. data/test/rails_root/public/images/service_icons/48/flickr.png +0 -0
  658. data/test/rails_root/public/images/service_icons/48/fotolog.png +0 -0
  659. data/test/rails_root/public/images/service_icons/48/friendfeed.png +0 -0
  660. data/test/rails_root/public/images/service_icons/48/friendster.png +0 -0
  661. data/test/rails_root/public/images/service_icons/48/furl.png +0 -0
  662. data/test/rails_root/public/images/service_icons/48/goodreads.png +0 -0
  663. data/test/rails_root/public/images/service_icons/48/google.png +0 -0
  664. data/test/rails_root/public/images/service_icons/48/googleblog.png +0 -0
  665. data/test/rails_root/public/images/service_icons/48/googlenews.png +0 -0
  666. data/test/rails_root/public/images/service_icons/48/icerocket.png +0 -0
  667. data/test/rails_root/public/images/service_icons/48/identica.png +0 -0
  668. data/test/rails_root/public/images/service_icons/48/joost.png +0 -0
  669. data/test/rails_root/public/images/service_icons/48/lastfm.png +0 -0
  670. data/test/rails_root/public/images/service_icons/48/librarything.png +0 -0
  671. data/test/rails_root/public/images/service_icons/48/linkedin.png +0 -0
  672. data/test/rails_root/public/images/service_icons/48/livejournal.png +0 -0
  673. data/test/rails_root/public/images/service_icons/48/magnolia.png +0 -0
  674. data/test/rails_root/public/images/service_icons/48/mendeley.png +0 -0
  675. data/test/rails_root/public/images/service_icons/48/metacafe.png +0 -0
  676. data/test/rails_root/public/images/service_icons/48/mixx.png +0 -0
  677. data/test/rails_root/public/images/service_icons/48/myspace.png +0 -0
  678. data/test/rails_root/public/images/service_icons/48/netflix.png +0 -0
  679. data/test/rails_root/public/images/service_icons/48/netvibes.png +0 -0
  680. data/test/rails_root/public/images/service_icons/48/newsvine.png +0 -0
  681. data/test/rails_root/public/images/service_icons/48/oai.png +0 -0
  682. data/test/rails_root/public/images/service_icons/48/odeo.png +0 -0
  683. data/test/rails_root/public/images/service_icons/48/opml.png +0 -0
  684. data/test/rails_root/public/images/service_icons/48/pandora.png +0 -0
  685. data/test/rails_root/public/images/service_icons/48/photobucket.png +0 -0
  686. data/test/rails_root/public/images/service_icons/48/picasa.png +0 -0
  687. data/test/rails_root/public/images/service_icons/48/polyvore.png +0 -0
  688. data/test/rails_root/public/images/service_icons/48/pownce.png +0 -0
  689. data/test/rails_root/public/images/service_icons/48/reddit.png +0 -0
  690. data/test/rails_root/public/images/service_icons/48/simpy.png +0 -0
  691. data/test/rails_root/public/images/service_icons/48/smugmug.png +0 -0
  692. data/test/rails_root/public/images/service_icons/48/stumbleupon.png +0 -0
  693. data/test/rails_root/public/images/service_icons/48/tag.png +0 -0
  694. data/test/rails_root/public/images/service_icons/48/technorati.png +0 -0
  695. data/test/rails_root/public/images/service_icons/48/tumblr.png +0 -0
  696. data/test/rails_root/public/images/service_icons/48/twine.png +0 -0
  697. data/test/rails_root/public/images/service_icons/48/twitter.png +0 -0
  698. data/test/rails_root/public/images/service_icons/48/vimeo.png +0 -0
  699. data/test/rails_root/public/images/service_icons/48/webshots.png +0 -0
  700. data/test/rails_root/public/images/service_icons/48/wordpress.png +0 -0
  701. data/test/rails_root/public/images/service_icons/48/xanga.png +0 -0
  702. data/test/rails_root/public/images/service_icons/48/yahoo.png +0 -0
  703. data/test/rails_root/public/images/service_icons/48/yelp.png +0 -0
  704. data/test/rails_root/public/images/service_icons/48/youtube.png +0 -0
  705. data/test/rails_root/public/images/service_icons/48/zooomr.png +0 -0
  706. data/test/rails_root/public/images/service_icons/48/zotero.png +0 -0
  707. data/test/rails_root/public/images/service_icons/60/amazon.png +0 -0
  708. data/test/rails_root/public/images/service_icons/60/ask.png +0 -0
  709. data/test/rails_root/public/images/service_icons/60/bibsonomy.png +0 -0
  710. data/test/rails_root/public/images/service_icons/60/bing.png +0 -0
  711. data/test/rails_root/public/images/service_icons/60/blogger.png +0 -0
  712. data/test/rails_root/public/images/service_icons/60/bloglines.png +0 -0
  713. data/test/rails_root/public/images/service_icons/60/citeulike.png +0 -0
  714. data/test/rails_root/public/images/service_icons/60/clipmarks.png +0 -0
  715. data/test/rails_root/public/images/service_icons/60/connotea.png +0 -0
  716. data/test/rails_root/public/images/service_icons/60/dailymotion.png +0 -0
  717. data/test/rails_root/public/images/service_icons/60/delicious.png +0 -0
  718. data/test/rails_root/public/images/service_icons/60/digg.png +0 -0
  719. data/test/rails_root/public/images/service_icons/60/diigo.png +0 -0
  720. data/test/rails_root/public/images/service_icons/60/facebook.png +0 -0
  721. data/test/rails_root/public/images/service_icons/60/feed.png +0 -0
  722. data/test/rails_root/public/images/service_icons/60/fireeagle.png +0 -0
  723. data/test/rails_root/public/images/service_icons/60/flickr.png +0 -0
  724. data/test/rails_root/public/images/service_icons/60/fotolog.png +0 -0
  725. data/test/rails_root/public/images/service_icons/60/friendfeed.png +0 -0
  726. data/test/rails_root/public/images/service_icons/60/friendster.png +0 -0
  727. data/test/rails_root/public/images/service_icons/60/furl.png +0 -0
  728. data/test/rails_root/public/images/service_icons/60/goodreads.png +0 -0
  729. data/test/rails_root/public/images/service_icons/60/google.png +0 -0
  730. data/test/rails_root/public/images/service_icons/60/googleblog.png +0 -0
  731. data/test/rails_root/public/images/service_icons/60/googlenews.png +0 -0
  732. data/test/rails_root/public/images/service_icons/60/icerocket.png +0 -0
  733. data/test/rails_root/public/images/service_icons/60/identica.png +0 -0
  734. data/test/rails_root/public/images/service_icons/60/joost.png +0 -0
  735. data/test/rails_root/public/images/service_icons/60/lastfm.png +0 -0
  736. data/test/rails_root/public/images/service_icons/60/librarything.png +0 -0
  737. data/test/rails_root/public/images/service_icons/60/linkedin.png +0 -0
  738. data/test/rails_root/public/images/service_icons/60/livejournal.png +0 -0
  739. data/test/rails_root/public/images/service_icons/60/magnolia.png +0 -0
  740. data/test/rails_root/public/images/service_icons/60/mendeley.png +0 -0
  741. data/test/rails_root/public/images/service_icons/60/metacafe.png +0 -0
  742. data/test/rails_root/public/images/service_icons/60/mixx.png +0 -0
  743. data/test/rails_root/public/images/service_icons/60/myspace.png +0 -0
  744. data/test/rails_root/public/images/service_icons/60/netflix.png +0 -0
  745. data/test/rails_root/public/images/service_icons/60/netvibes.png +0 -0
  746. data/test/rails_root/public/images/service_icons/60/newsvine.png +0 -0
  747. data/test/rails_root/public/images/service_icons/60/oai.png +0 -0
  748. data/test/rails_root/public/images/service_icons/60/odeo.png +0 -0
  749. data/test/rails_root/public/images/service_icons/60/opml.png +0 -0
  750. data/test/rails_root/public/images/service_icons/60/pandora.png +0 -0
  751. data/test/rails_root/public/images/service_icons/60/photobucket.png +0 -0
  752. data/test/rails_root/public/images/service_icons/60/picasa.png +0 -0
  753. data/test/rails_root/public/images/service_icons/60/polyvore.png +0 -0
  754. data/test/rails_root/public/images/service_icons/60/pownce.png +0 -0
  755. data/test/rails_root/public/images/service_icons/60/reddit.png +0 -0
  756. data/test/rails_root/public/images/service_icons/60/simpy.png +0 -0
  757. data/test/rails_root/public/images/service_icons/60/smugmug.png +0 -0
  758. data/test/rails_root/public/images/service_icons/60/stumbleupon.png +0 -0
  759. data/test/rails_root/public/images/service_icons/60/tag.png +0 -0
  760. data/test/rails_root/public/images/service_icons/60/technorati.png +0 -0
  761. data/test/rails_root/public/images/service_icons/60/tumblr.png +0 -0
  762. data/test/rails_root/public/images/service_icons/60/twine.png +0 -0
  763. data/test/rails_root/public/images/service_icons/60/twitter.png +0 -0
  764. data/test/rails_root/public/images/service_icons/60/vimeo.png +0 -0
  765. data/test/rails_root/public/images/service_icons/60/webshots.png +0 -0
  766. data/test/rails_root/public/images/service_icons/60/wordpress.png +0 -0
  767. data/test/rails_root/public/images/service_icons/60/xanga.png +0 -0
  768. data/test/rails_root/public/images/service_icons/60/yahoo.png +0 -0
  769. data/test/rails_root/public/images/service_icons/60/yelp.png +0 -0
  770. data/test/rails_root/public/images/service_icons/60/youtube.png +0 -0
  771. data/test/rails_root/public/images/service_icons/60/zooomr.png +0 -0
  772. data/test/rails_root/public/images/service_icons/60/zotero.png +0 -0
  773. data/test/rails_root/public/images/service_icons/facebook_friend_links.jpg +0 -0
  774. data/test/rails_root/public/images/service_icons/facebook_my_links.jpg +0 -0
  775. data/test/rails_root/public/images/service_icons/source/Aquaticus_Social_Icon_template_by_jwloh.psd +0 -0
  776. data/test/rails_root/public/images/service_icons/source/Google.psd +0 -0
  777. data/test/rails_root/public/images/service_icons/source/Quake 9 Design.webloc +0 -0
  778. data/test/rails_root/public/images/service_icons/source/ReadMe.rtf +52 -0
  779. data/test/rails_root/public/images/service_icons/source/amazon.png +0 -0
  780. data/test/rails_root/public/images/service_icons/source/aquaticus.social.png +0 -0
  781. data/test/rails_root/public/images/service_icons/source/ask.png +0 -0
  782. data/test/rails_root/public/images/service_icons/source/ask.psd +0 -0
  783. data/test/rails_root/public/images/service_icons/source/bibsonomy.png +0 -0
  784. data/test/rails_root/public/images/service_icons/source/bibsonomy.psd +0 -0
  785. data/test/rails_root/public/images/service_icons/source/bing.png +0 -0
  786. data/test/rails_root/public/images/service_icons/source/bing.psd +0 -0
  787. data/test/rails_root/public/images/service_icons/source/blogger.png +0 -0
  788. data/test/rails_root/public/images/service_icons/source/bloglines.png +0 -0
  789. data/test/rails_root/public/images/service_icons/source/bloglines.psd +0 -0
  790. data/test/rails_root/public/images/service_icons/source/citeulike.png +0 -0
  791. data/test/rails_root/public/images/service_icons/source/clipmarks.png +0 -0
  792. data/test/rails_root/public/images/service_icons/source/connotea.png +0 -0
  793. data/test/rails_root/public/images/service_icons/source/connotea.psd +0 -0
  794. data/test/rails_root/public/images/service_icons/source/dailymotion.png +0 -0
  795. data/test/rails_root/public/images/service_icons/source/delicious.png +0 -0
  796. data/test/rails_root/public/images/service_icons/source/digg.png +0 -0
  797. data/test/rails_root/public/images/service_icons/source/diigo.png +0 -0
  798. data/test/rails_root/public/images/service_icons/source/facebook.png +0 -0
  799. data/test/rails_root/public/images/service_icons/source/feed.png +0 -0
  800. data/test/rails_root/public/images/service_icons/source/fireeagle.psd +0 -0
  801. data/test/rails_root/public/images/service_icons/source/flickr.png +0 -0
  802. data/test/rails_root/public/images/service_icons/source/fotolog.png +0 -0
  803. data/test/rails_root/public/images/service_icons/source/friendfeed.png +0 -0
  804. data/test/rails_root/public/images/service_icons/source/friendster.png +0 -0
  805. data/test/rails_root/public/images/service_icons/source/furl.png +0 -0
  806. data/test/rails_root/public/images/service_icons/source/goodreads.png +0 -0
  807. data/test/rails_root/public/images/service_icons/source/google.png +0 -0
  808. data/test/rails_root/public/images/service_icons/source/googleblog.png +0 -0
  809. data/test/rails_root/public/images/service_icons/source/googlenews.png +0 -0
  810. data/test/rails_root/public/images/service_icons/source/icerocket.png +0 -0
  811. data/test/rails_root/public/images/service_icons/source/icerocket.psd +0 -0
  812. data/test/rails_root/public/images/service_icons/source/identica.png +0 -0
  813. data/test/rails_root/public/images/service_icons/source/joost.png +0 -0
  814. data/test/rails_root/public/images/service_icons/source/lastfm.png +0 -0
  815. data/test/rails_root/public/images/service_icons/source/librarything.png +0 -0
  816. data/test/rails_root/public/images/service_icons/source/linkedin.png +0 -0
  817. data/test/rails_root/public/images/service_icons/source/livejournal.png +0 -0
  818. data/test/rails_root/public/images/service_icons/source/magnolia.png +0 -0
  819. data/test/rails_root/public/images/service_icons/source/mendeley.png +0 -0
  820. data/test/rails_root/public/images/service_icons/source/metacafe.png +0 -0
  821. data/test/rails_root/public/images/service_icons/source/metacafe.psd +0 -0
  822. data/test/rails_root/public/images/service_icons/source/mixx.png +0 -0
  823. data/test/rails_root/public/images/service_icons/source/myspace.png +0 -0
  824. data/test/rails_root/public/images/service_icons/source/netflix.png +0 -0
  825. data/test/rails_root/public/images/service_icons/source/netvibes.png +0 -0
  826. data/test/rails_root/public/images/service_icons/source/newsvine.png +0 -0
  827. data/test/rails_root/public/images/service_icons/source/oai.png +0 -0
  828. data/test/rails_root/public/images/service_icons/source/odeo.png +0 -0
  829. data/test/rails_root/public/images/service_icons/source/opml.png +0 -0
  830. data/test/rails_root/public/images/service_icons/source/pandora.png +0 -0
  831. data/test/rails_root/public/images/service_icons/source/photobucket.png +0 -0
  832. data/test/rails_root/public/images/service_icons/source/picasa.png +0 -0
  833. data/test/rails_root/public/images/service_icons/source/polyvore.png +0 -0
  834. data/test/rails_root/public/images/service_icons/source/pownce.png +0 -0
  835. data/test/rails_root/public/images/service_icons/source/reddit.png +0 -0
  836. data/test/rails_root/public/images/service_icons/source/simpy.png +0 -0
  837. data/test/rails_root/public/images/service_icons/source/smugmug.png +0 -0
  838. data/test/rails_root/public/images/service_icons/source/stumbleupon.png +0 -0
  839. data/test/rails_root/public/images/service_icons/source/tag.png +0 -0
  840. data/test/rails_root/public/images/service_icons/source/technorati.png +0 -0
  841. data/test/rails_root/public/images/service_icons/source/template.png +0 -0
  842. data/test/rails_root/public/images/service_icons/source/tumblr.png +0 -0
  843. data/test/rails_root/public/images/service_icons/source/twine.png +0 -0
  844. data/test/rails_root/public/images/service_icons/source/twine.psd +0 -0
  845. data/test/rails_root/public/images/service_icons/source/twitter.png +0 -0
  846. data/test/rails_root/public/images/service_icons/source/vimeo.png +0 -0
  847. data/test/rails_root/public/images/service_icons/source/webshots.png +0 -0
  848. data/test/rails_root/public/images/service_icons/source/wordpress.png +0 -0
  849. data/test/rails_root/public/images/service_icons/source/xanga.png +0 -0
  850. data/test/rails_root/public/images/service_icons/source/yahoo.png +0 -0
  851. data/test/rails_root/public/images/service_icons/source/yelp.png +0 -0
  852. data/test/rails_root/public/images/service_icons/source/youtube.png +0 -0
  853. data/test/rails_root/public/images/service_icons/source/zooomr.png +0 -0
  854. data/test/rails_root/public/images/service_icons/source/zotero.png +0 -0
  855. data/test/rails_root/public/javascripts/jquery/colorpicker.js +450 -0
  856. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme +6 -0
  857. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js +15 -0
  858. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.pack.js +767 -0
  859. data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
  860. data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +16 -0
  861. data/test/rails_root/public/javascripts/jquery/jquery.metadata.min.js +13 -0
  862. data/test/rails_root/public/javascripts/jquery/jquery.queryString.js +33 -0
  863. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.js +66 -0
  864. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js +11 -0
  865. data/test/rails_root/public/javascripts/jquery/jquery.tips.js +7 -6
  866. data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
  867. data/test/rails_root/public/javascripts/muck.js +57 -6
  868. data/test/rails_root/public/javascripts/muck_time/en.js +53 -0
  869. data/test/rails_root/public/javascripts/tree.js +107 -0
  870. data/test/rails_root/public/stylesheets/jquery/jquery.autocomplete.css +15 -0
  871. data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +38 -0
  872. data/test/rails_root/public/stylesheets/styles.css +16 -2
  873. data/test/rails_root/test/functional/admin/users_controller_test.rb +9 -2
  874. metadata +407 -2
@@ -0,0 +1,767 @@
1
+ /**********************************************************************************************
2
+ * NOTE: this version is modified from the original to work with luvfoo. Specifically line
3
+ * 314 was changed from
4
+ * if ( data && data.length && hasFocus ) {
5
+ * to
6
+ * if ( data && data.length ) {
7
+ * For some reason the hasFocus value was always 0 which prevented the autocomplete from ever showing up.
8
+ **********************************************************************************************
9
+ *
10
+ * Autocomplete - jQuery plugin 1.0.2
11
+ *
12
+ * Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer
13
+ *
14
+ * Dual licensed under the MIT and GPL licenses:
15
+ * http://www.opensource.org/licenses/mit-license.php
16
+ * http://www.gnu.org/licenses/gpl.html
17
+ *
18
+ * Revision: $Id: jquery.autocomplete.js 5747 2008-06-25 18:30:55Z joern.zaefferer $
19
+ *
20
+ */
21
+
22
+ ;(function($) {
23
+
24
+ $.fn.extend({
25
+ autocomplete: function(urlOrData, options) {
26
+ var isUrl = typeof urlOrData == "string";
27
+ options = $.extend({}, $.Autocompleter.defaults, {
28
+ url: isUrl ? urlOrData : null,
29
+ data: isUrl ? null : urlOrData,
30
+ delay: isUrl ? $.Autocompleter.defaults.delay : 10,
31
+ max: options && !options.scroll ? 10 : 150
32
+ }, options);
33
+
34
+ // if highlight is set to false, replace it with a do-nothing function
35
+ options.highlight = options.highlight || function(value) { return value; };
36
+
37
+ // if the formatMatch option is not specified, then use formatItem for backwards compatibility
38
+ options.formatMatch = options.formatMatch || options.formatItem;
39
+
40
+ return this.each(function() {
41
+ new $.Autocompleter(this, options);
42
+ });
43
+ },
44
+ result: function(handler) {
45
+ return this.bind("result", handler);
46
+ },
47
+ search: function(handler) {
48
+ return this.trigger("search", [handler]);
49
+ },
50
+ flushCache: function() {
51
+ return this.trigger("flushCache");
52
+ },
53
+ setOptions: function(options){
54
+ return this.trigger("setOptions", [options]);
55
+ },
56
+ unautocomplete: function() {
57
+ return this.trigger("unautocomplete");
58
+ }
59
+ });
60
+
61
+ $.Autocompleter = function(input, options) {
62
+
63
+ var KEY = {
64
+ UP: 38,
65
+ DOWN: 40,
66
+ DEL: 46,
67
+ TAB: 9,
68
+ RETURN: 13,
69
+ ESC: 27,
70
+ COMMA: 188,
71
+ PAGEUP: 33,
72
+ PAGEDOWN: 34,
73
+ BACKSPACE: 8
74
+ };
75
+
76
+ // Create $ object for input element
77
+ var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
78
+
79
+ var timeout;
80
+ var previousValue = "";
81
+ var cache = $.Autocompleter.Cache(options);
82
+ var hasFocus = 0;
83
+ var lastKeyPressCode;
84
+ var config = {
85
+ mouseDownOnSelect: false
86
+ };
87
+ var select = $.Autocompleter.Select(options, input, selectCurrent, config);
88
+
89
+ var blockSubmit;
90
+
91
+ // prevent form submit in opera when selecting with return key
92
+ $.browser.opera && $(input.form).bind("submit.autocomplete", function() {
93
+ if (blockSubmit) {
94
+ blockSubmit = false;
95
+ return false;
96
+ }
97
+ });
98
+
99
+ // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
100
+ $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
101
+ // track last key pressed
102
+ lastKeyPressCode = event.keyCode;
103
+ switch(event.keyCode) {
104
+
105
+ case KEY.UP:
106
+ event.preventDefault();
107
+ if ( select.visible() ) {
108
+ select.prev();
109
+ } else {
110
+ onChange(0, true);
111
+ }
112
+ break;
113
+
114
+ case KEY.DOWN:
115
+ event.preventDefault();
116
+ if ( select.visible() ) {
117
+ select.next();
118
+ } else {
119
+ onChange(0, true);
120
+ }
121
+ break;
122
+
123
+ case KEY.PAGEUP:
124
+ event.preventDefault();
125
+ if ( select.visible() ) {
126
+ select.pageUp();
127
+ } else {
128
+ onChange(0, true);
129
+ }
130
+ break;
131
+
132
+ case KEY.PAGEDOWN:
133
+ event.preventDefault();
134
+ if ( select.visible() ) {
135
+ select.pageDown();
136
+ } else {
137
+ onChange(0, true);
138
+ }
139
+ break;
140
+
141
+ // matches also semicolon
142
+ case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
143
+ case KEY.TAB:
144
+ case KEY.RETURN:
145
+ if( selectCurrent() ) {
146
+ // stop default to prevent a form submit, Opera needs special handling
147
+ event.preventDefault();
148
+ blockSubmit = true;
149
+ return false;
150
+ }
151
+ break;
152
+
153
+ case KEY.ESC:
154
+ select.hide();
155
+ break;
156
+
157
+ default:
158
+ clearTimeout(timeout);
159
+ timeout = setTimeout(onChange, options.delay);
160
+ break;
161
+ }
162
+ }).focus(function(){
163
+ // track whether the field has focus, we shouldn't process any
164
+ // results if the field no longer has focus
165
+ hasFocus++;
166
+ }).blur(function() {
167
+ hasFocus = 0;
168
+ if (!config.mouseDownOnSelect) {
169
+ hideResults();
170
+ }
171
+ }).click(function() {
172
+ // show select when clicking in a focused field
173
+ if ( hasFocus++ > 1 && !select.visible() ) {
174
+ onChange(0, true);
175
+ }
176
+ }).bind("search", function() {
177
+ // TODO why not just specifying both arguments?
178
+ var fn = (arguments.length > 1) ? arguments[1] : null;
179
+ function findValueCallback(q, data) {
180
+ var result;
181
+ if( data && data.length ) {
182
+ for (var i=0; i < data.length; i++) {
183
+ if( data[i].result.toLowerCase() == q.toLowerCase() ) {
184
+ result = data[i];
185
+ break;
186
+ }
187
+ }
188
+ }
189
+ if( typeof fn == "function" ) fn(result);
190
+ else $input.trigger("result", result && [result.data, result.value]);
191
+ }
192
+ $.each(trimWords($input.val()), function(i, value) {
193
+ request(value, findValueCallback, findValueCallback);
194
+ });
195
+ }).bind("flushCache", function() {
196
+ cache.flush();
197
+ }).bind("setOptions", function() {
198
+ $.extend(options, arguments[1]);
199
+ // if we've updated the data, repopulate
200
+ if ( "data" in arguments[1] )
201
+ cache.populate();
202
+ }).bind("unautocomplete", function() {
203
+ select.unbind();
204
+ $input.unbind();
205
+ $(input.form).unbind(".autocomplete");
206
+ });
207
+
208
+
209
+ function selectCurrent() {
210
+ var selected = select.selected();
211
+ if( !selected )
212
+ return false;
213
+
214
+ var v = selected.result;
215
+ previousValue = v;
216
+
217
+ if ( options.multiple ) {
218
+ var words = trimWords($input.val());
219
+ if ( words.length > 1 ) {
220
+ v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v;
221
+ }
222
+ v += options.multipleSeparator;
223
+ }
224
+
225
+ $input.val(v);
226
+ hideResultsNow();
227
+ $input.trigger("result", [selected.data, selected.value]);
228
+ return true;
229
+ }
230
+
231
+ function onChange(crap, skipPrevCheck) {
232
+ if( lastKeyPressCode == KEY.DEL ) {
233
+ select.hide();
234
+ return;
235
+ }
236
+
237
+ var currentValue = $input.val();
238
+
239
+ if ( !skipPrevCheck && currentValue == previousValue )
240
+ return;
241
+
242
+ previousValue = currentValue;
243
+
244
+ currentValue = lastWord(currentValue);
245
+ if ( currentValue.length >= options.minChars) {
246
+ $input.addClass(options.loadingClass);
247
+ if (!options.matchCase)
248
+ currentValue = currentValue.toLowerCase();
249
+ request(currentValue, receiveData, hideResultsNow);
250
+ } else {
251
+ stopLoading();
252
+ select.hide();
253
+ }
254
+ };
255
+
256
+ function trimWords(value) {
257
+ if ( !value ) {
258
+ return [""];
259
+ }
260
+ var words = value.split( options.multipleSeparator );
261
+ var result = [];
262
+ $.each(words, function(i, value) {
263
+ if ( $.trim(value) )
264
+ result[i] = $.trim(value);
265
+ });
266
+ return result;
267
+ }
268
+
269
+ function lastWord(value) {
270
+ if ( !options.multiple )
271
+ return value;
272
+ var words = trimWords(value);
273
+ return words[words.length - 1];
274
+ }
275
+
276
+ // fills in the input box w/the first match (assumed to be the best match)
277
+ // q: the term entered
278
+ // sValue: the first matching result
279
+ function autoFill(q, sValue){
280
+ // autofill in the complete box w/the first match as long as the user hasn't entered in more data
281
+ // if the last user key pressed was backspace, don't autofill
282
+ if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
283
+ // fill in the value (keep the case the user has typed)
284
+ $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
285
+ // select the portion of the value not typed by the user (so the next character will erase)
286
+ $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
287
+ }
288
+ };
289
+
290
+ function hideResults() {
291
+ clearTimeout(timeout);
292
+ timeout = setTimeout(hideResultsNow, 200);
293
+ };
294
+
295
+ function hideResultsNow() {
296
+ var wasVisible = select.visible();
297
+ select.hide();
298
+ clearTimeout(timeout);
299
+ stopLoading();
300
+ if (options.mustMatch) {
301
+ // call search and run callback
302
+ $input.search(
303
+ function (result){
304
+ // if no value found, clear the input box
305
+ if( !result ) {
306
+ if (options.multiple) {
307
+ var words = trimWords($input.val()).slice(0, -1);
308
+ $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
309
+ }
310
+ else
311
+ $input.val( "" );
312
+ }
313
+ }
314
+ );
315
+ }
316
+ if (wasVisible)
317
+ // position cursor at end of input field
318
+ $.Autocompleter.Selection(input, input.value.length, input.value.length);
319
+ };
320
+
321
+ function receiveData(q, data) {
322
+ if ( data && data.length ) {
323
+ stopLoading();
324
+ select.display(data, q);
325
+ autoFill(q, data[0].value);
326
+ select.show();
327
+ } else {
328
+ hideResultsNow();
329
+ }
330
+ };
331
+
332
+ function request(term, success, failure) {
333
+ if (!options.matchCase)
334
+ term = term.toLowerCase();
335
+ var data = cache.load(term);
336
+ // recieve the cached data
337
+ if (data && data.length) {
338
+ success(term, data);
339
+ // if an AJAX url has been supplied, try loading the data now
340
+ } else if( (typeof options.url == "string") && (options.url.length > 0) ){
341
+
342
+ var extraParams = {
343
+ timestamp: +new Date()
344
+ };
345
+ $.each(options.extraParams, function(key, param) {
346
+ extraParams[key] = typeof param == "function" ? param() : param;
347
+ });
348
+
349
+ $.ajax({
350
+ // try to leverage ajaxQueue plugin to abort previous requests
351
+ mode: "abort",
352
+ // limit abortion to this input
353
+ port: "autocomplete" + input.name,
354
+ dataType: options.dataType,
355
+ url: options.url,
356
+ data: $.extend({
357
+ q: lastWord(term),
358
+ limit: options.max
359
+ }, extraParams),
360
+ success: function(data) {
361
+ var parsed = options.parse && options.parse(data) || parse(data);
362
+ cache.add(term, parsed);
363
+ success(term, parsed);
364
+ }
365
+ });
366
+ } else {
367
+ // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
368
+ select.emptyList();
369
+ failure(term);
370
+ }
371
+ };
372
+
373
+ function parse(data) {
374
+ var parsed = [];
375
+ var rows = data.split("\n");
376
+ for (var i=0; i < rows.length; i++) {
377
+ var row = $.trim(rows[i]);
378
+ if (row) {
379
+ row = row.split("|");
380
+ parsed[parsed.length] = {
381
+ data: row,
382
+ value: row[0],
383
+ result: options.formatResult && options.formatResult(row, row[0]) || row[0]
384
+ };
385
+ }
386
+ }
387
+ return parsed;
388
+ };
389
+
390
+ function stopLoading() {
391
+ $input.removeClass(options.loadingClass);
392
+ };
393
+
394
+ };
395
+
396
+ $.Autocompleter.defaults = {
397
+ inputClass: "ac_input",
398
+ resultsClass: "ac_results",
399
+ loadingClass: "ac_loading",
400
+ minChars: 1,
401
+ delay: 400,
402
+ matchCase: false,
403
+ matchSubset: true,
404
+ matchContains: false,
405
+ cacheLength: 10,
406
+ max: 100,
407
+ mustMatch: false,
408
+ extraParams: {},
409
+ selectFirst: true,
410
+ formatItem: function(row) { return row[0]; },
411
+ formatMatch: null,
412
+ autoFill: false,
413
+ width: 0,
414
+ multiple: false,
415
+ multipleSeparator: ", ",
416
+ highlight: function(value, term) {
417
+ return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
418
+ },
419
+ scroll: true,
420
+ scrollHeight: 180
421
+ };
422
+
423
+ $.Autocompleter.Cache = function(options) {
424
+
425
+ var data = {};
426
+ var length = 0;
427
+
428
+ function matchSubset(s, sub) {
429
+ if (!options.matchCase)
430
+ s = s.toLowerCase();
431
+ var i = s.indexOf(sub);
432
+ if (i == -1) return false;
433
+ return i == 0 || options.matchContains;
434
+ };
435
+
436
+ function add(q, value) {
437
+ if (length > options.cacheLength){
438
+ flush();
439
+ }
440
+ if (!data[q]){
441
+ length++;
442
+ }
443
+ data[q] = value;
444
+ }
445
+
446
+ function populate(){
447
+ if( !options.data ) return false;
448
+ // track the matches
449
+ var stMatchSets = {},
450
+ nullData = 0;
451
+
452
+ // no url was specified, we need to adjust the cache length to make sure it fits the local data store
453
+ if( !options.url ) options.cacheLength = 1;
454
+
455
+ // track all options for minChars = 0
456
+ stMatchSets[""] = [];
457
+
458
+ // loop through the array and create a lookup structure
459
+ for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
460
+ var rawValue = options.data[i];
461
+ // if rawValue is a string, make an array otherwise just reference the array
462
+ rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
463
+
464
+ var value = options.formatMatch(rawValue, i+1, options.data.length);
465
+ if ( value === false )
466
+ continue;
467
+
468
+ var firstChar = value.charAt(0).toLowerCase();
469
+ // if no lookup array for this character exists, look it up now
470
+ if( !stMatchSets[firstChar] )
471
+ stMatchSets[firstChar] = [];
472
+
473
+ // if the match is a string
474
+ var row = {
475
+ value: value,
476
+ data: rawValue,
477
+ result: options.formatResult && options.formatResult(rawValue) || value
478
+ };
479
+
480
+ // push the current match into the set list
481
+ stMatchSets[firstChar].push(row);
482
+
483
+ // keep track of minChars zero items
484
+ if ( nullData++ < options.max ) {
485
+ stMatchSets[""].push(row);
486
+ }
487
+ };
488
+
489
+ // add the data items to the cache
490
+ $.each(stMatchSets, function(i, value) {
491
+ // increase the cache size
492
+ options.cacheLength++;
493
+ // add to the cache
494
+ add(i, value);
495
+ });
496
+ }
497
+
498
+ // populate any existing data
499
+ setTimeout(populate, 25);
500
+
501
+ function flush(){
502
+ data = {};
503
+ length = 0;
504
+ }
505
+
506
+ return {
507
+ flush: flush,
508
+ add: add,
509
+ populate: populate,
510
+ load: function(q) {
511
+ if (!options.cacheLength || !length)
512
+ return null;
513
+ /*
514
+ * if dealing w/local data and matchContains than we must make sure
515
+ * to loop through all the data collections looking for matches
516
+ */
517
+ if( !options.url && options.matchContains ){
518
+ // track all matches
519
+ var csub = [];
520
+ // loop through all the data grids for matches
521
+ for( var k in data ){
522
+ // don't search through the stMatchSets[""] (minChars: 0) cache
523
+ // this prevents duplicates
524
+ if( k.length > 0 ){
525
+ var c = data[k];
526
+ $.each(c, function(i, x) {
527
+ // if we've got a match, add it to the array
528
+ if (matchSubset(x.value, q)) {
529
+ csub.push(x);
530
+ }
531
+ });
532
+ }
533
+ }
534
+ return csub;
535
+ } else
536
+ // if the exact item exists, use it
537
+ if (data[q]){
538
+ return data[q];
539
+ } else
540
+ if (options.matchSubset) {
541
+ for (var i = q.length - 1; i >= options.minChars; i--) {
542
+ var c = data[q.substr(0, i)];
543
+ if (c) {
544
+ var csub = [];
545
+ $.each(c, function(i, x) {
546
+ if (matchSubset(x.value, q)) {
547
+ csub[csub.length] = x;
548
+ }
549
+ });
550
+ return csub;
551
+ }
552
+ }
553
+ }
554
+ return null;
555
+ }
556
+ };
557
+ };
558
+
559
+ $.Autocompleter.Select = function (options, input, select, config) {
560
+ var CLASSES = {
561
+ ACTIVE: "ac_over"
562
+ };
563
+
564
+ var listItems,
565
+ active = -1,
566
+ data,
567
+ term = "",
568
+ needsInit = true,
569
+ element,
570
+ list;
571
+
572
+ // Create results
573
+ function init() {
574
+ if (!needsInit)
575
+ return;
576
+ element = $("<div/>")
577
+ .hide()
578
+ .addClass(options.resultsClass)
579
+ .css("position", "absolute")
580
+ .appendTo(document.body);
581
+
582
+ list = $("<ul/>").appendTo(element).mouseover( function(event) {
583
+ if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
584
+ active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
585
+ $(target(event)).addClass(CLASSES.ACTIVE);
586
+ }
587
+ }).click(function(event) {
588
+ $(target(event)).addClass(CLASSES.ACTIVE);
589
+ select();
590
+ // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
591
+ input.focus();
592
+ return false;
593
+ }).mousedown(function() {
594
+ config.mouseDownOnSelect = true;
595
+ }).mouseup(function() {
596
+ config.mouseDownOnSelect = false;
597
+ });
598
+
599
+ if( options.width > 0 )
600
+ element.css("width", options.width);
601
+
602
+ needsInit = false;
603
+ }
604
+
605
+ function target(event) {
606
+ var element = event.target;
607
+ while(element && element.tagName != "LI")
608
+ element = element.parentNode;
609
+ // more fun with IE, sometimes event.target is empty, just ignore it then
610
+ if(!element)
611
+ return [];
612
+ return element;
613
+ }
614
+
615
+ function moveSelect(step) {
616
+ listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
617
+ movePosition(step);
618
+ var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
619
+ if(options.scroll) {
620
+ var offset = 0;
621
+ listItems.slice(0, active).each(function() {
622
+ offset += this.offsetHeight;
623
+ });
624
+ if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
625
+ list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
626
+ } else if(offset < list.scrollTop()) {
627
+ list.scrollTop(offset);
628
+ }
629
+ }
630
+ };
631
+
632
+ function movePosition(step) {
633
+ active += step;
634
+ if (active < 0) {
635
+ active = listItems.size() - 1;
636
+ } else if (active >= listItems.size()) {
637
+ active = 0;
638
+ }
639
+ }
640
+
641
+ function limitNumberOfItems(available) {
642
+ return options.max && options.max < available
643
+ ? options.max
644
+ : available;
645
+ }
646
+
647
+ function fillList() {
648
+ list.empty();
649
+ var max = limitNumberOfItems(data.length);
650
+ for (var i=0; i < max; i++) {
651
+ if (!data[i])
652
+ continue;
653
+ var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
654
+ if ( formatted === false )
655
+ continue;
656
+ var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
657
+ $.data(li, "ac_data", data[i]);
658
+ }
659
+ listItems = list.find("li");
660
+ if ( options.selectFirst ) {
661
+ listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
662
+ active = 0;
663
+ }
664
+ // apply bgiframe if available
665
+ if ( $.fn.bgiframe )
666
+ list.bgiframe();
667
+ }
668
+
669
+ return {
670
+ display: function(d, q) {
671
+ init();
672
+ data = d;
673
+ term = q;
674
+ fillList();
675
+ },
676
+ next: function() {
677
+ moveSelect(1);
678
+ },
679
+ prev: function() {
680
+ moveSelect(-1);
681
+ },
682
+ pageUp: function() {
683
+ if (active != 0 && active - 8 < 0) {
684
+ moveSelect( -active );
685
+ } else {
686
+ moveSelect(-8);
687
+ }
688
+ },
689
+ pageDown: function() {
690
+ if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
691
+ moveSelect( listItems.size() - 1 - active );
692
+ } else {
693
+ moveSelect(8);
694
+ }
695
+ },
696
+ hide: function() {
697
+ element && element.hide();
698
+ listItems && listItems.removeClass(CLASSES.ACTIVE);
699
+ active = -1;
700
+ },
701
+ visible : function() {
702
+ return element && element.is(":visible");
703
+ },
704
+ current: function() {
705
+ return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
706
+ },
707
+ show: function() {
708
+ var offset = $(input).offset();
709
+ element.css({
710
+ width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
711
+ top: offset.top + input.offsetHeight,
712
+ left: offset.left
713
+ }).show();
714
+ if(options.scroll) {
715
+ list.scrollTop(0);
716
+ list.css({
717
+ maxHeight: options.scrollHeight,
718
+ overflow: 'auto'
719
+ });
720
+
721
+ if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
722
+ var listHeight = 0;
723
+ listItems.each(function() {
724
+ listHeight += this.offsetHeight;
725
+ });
726
+ var scrollbarsVisible = listHeight > options.scrollHeight;
727
+ list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
728
+ if (!scrollbarsVisible) {
729
+ // IE doesn't recalculate width when scrollbar disappears
730
+ listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
731
+ }
732
+ }
733
+
734
+ }
735
+ },
736
+ selected: function() {
737
+ var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
738
+ return selected && selected.length && $.data(selected[0], "ac_data");
739
+ },
740
+ emptyList: function (){
741
+ list && list.empty();
742
+ },
743
+ unbind: function() {
744
+ element && element.remove();
745
+ }
746
+ };
747
+ };
748
+
749
+ $.Autocompleter.Selection = function(field, start, end) {
750
+ if( field.createTextRange ){
751
+ var selRange = field.createTextRange();
752
+ selRange.collapse(true);
753
+ selRange.moveStart("character", start);
754
+ selRange.moveEnd("character", end);
755
+ selRange.select();
756
+ } else if( field.setSelectionRange ){
757
+ field.setSelectionRange(start, end);
758
+ } else {
759
+ if( field.selectionStart ){
760
+ field.selectionStart = start;
761
+ field.selectionEnd = end;
762
+ }
763
+ }
764
+ field.focus();
765
+ };
766
+
767
+ })(jQuery);