muck-profiles 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. data/README.rdoc +104 -2
  2. data/Rakefile +2 -0
  3. data/VERSION +1 -1
  4. data/app/controllers/muck/profiles_controller.rb +1 -1
  5. data/app/helpers/muck_profiles_helper.rb +14 -0
  6. data/app/views/profiles/_form.html.erb +2 -1
  7. data/app/views/profiles/_location_suggestion.html.erb +12 -0
  8. data/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
  9. data/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
  10. data/lib/active_record/acts/muck_profile.rb +53 -1
  11. data/lib/active_record/has/muck_profile.rb +0 -2
  12. data/locales/en.yml +16 -1
  13. data/muck-profiles.gemspec +144 -3
  14. data/test/rails_root/.gitignore +2 -1
  15. data/test/rails_root/config/database.yml +12 -12
  16. data/test/rails_root/config/environment.rb +1 -0
  17. data/test/rails_root/config/{global_config.yml → global_config.example.yml} +1 -1
  18. data/test/rails_root/config/initializers/geokit_config.rb +61 -0
  19. data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
  20. data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
  21. data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
  22. data/test/rails_root/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
  23. data/test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
  24. data/test/rails_root/lib/tasks/muck.rake +7 -0
  25. data/test/rails_root/public/images/arrow_down.gif +0 -0
  26. data/test/rails_root/public/images/arrow_up.gif +0 -0
  27. data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
  28. data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
  29. data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
  30. data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
  31. data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
  32. data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
  33. data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
  34. data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
  35. data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
  36. data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
  37. data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
  38. data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
  39. data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
  40. data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
  41. data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
  42. data/test/rails_root/public/images/icons/blue_guy.png +0 -0
  43. data/test/rails_root/public/images/icons/button_background.png +0 -0
  44. data/test/rails_root/public/images/icons/cancel.png +0 -0
  45. data/test/rails_root/public/images/icons/close.png +0 -0
  46. data/test/rails_root/public/images/icons/comment.png +0 -0
  47. data/test/rails_root/public/images/icons/exclaim.png +0 -0
  48. data/test/rails_root/public/images/icons/external.png +0 -0
  49. data/test/rails_root/public/images/icons/feed.png +0 -0
  50. data/test/rails_root/public/images/icons/grey_guy.png +0 -0
  51. data/test/rails_root/public/images/icons/hide.png +0 -0
  52. data/test/rails_root/public/images/icons/information.png +0 -0
  53. data/test/rails_root/public/images/icons/minus.png +0 -0
  54. data/test/rails_root/public/images/icons/pending.png +0 -0
  55. data/test/rails_root/public/images/icons/question.png +0 -0
  56. data/test/rails_root/public/images/icons/search_box.png +0 -0
  57. data/test/rails_root/public/images/icons/star.png +0 -0
  58. data/test/rails_root/public/images/icons/stop.png +0 -0
  59. data/test/rails_root/public/images/icons/thumb_down.png +0 -0
  60. data/test/rails_root/public/images/icons/thumb_up.png +0 -0
  61. data/test/rails_root/public/images/nothing.png +0 -0
  62. data/test/rails_root/public/javascripts/jquery/colorpicker.js +450 -0
  63. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme +6 -0
  64. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js +15 -0
  65. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.pack.js +767 -0
  66. data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
  67. data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
  68. data/test/rails_root/public/javascripts/jquery/jquery.metadata.min.js +13 -0
  69. data/test/rails_root/public/javascripts/jquery/jquery.queryString.js +33 -0
  70. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.js +66 -0
  71. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js +11 -0
  72. data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
  73. data/test/rails_root/public/javascripts/muck.js +11 -6
  74. data/test/rails_root/public/javascripts/muck_time/en.js +53 -0
  75. data/test/rails_root/public/javascripts/tree.js +107 -0
  76. data/test/rails_root/public/stylesheets/jquery/jquery.autocomplete.css +15 -0
  77. data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
  78. data/test/rails_root/public/stylesheets/styles.css +10 -3
  79. data/test/rails_root/vendor/plugins/geokit-rails/CHANGELOG.rdoc +46 -0
  80. data/test/rails_root/vendor/plugins/geokit-rails/MIT-LICENSE +20 -0
  81. data/test/rails_root/vendor/plugins/geokit-rails/README.markdown +561 -0
  82. data/test/rails_root/vendor/plugins/geokit-rails/Rakefile +18 -0
  83. data/test/rails_root/vendor/plugins/geokit-rails/about.yml +9 -0
  84. data/test/rails_root/vendor/plugins/geokit-rails/assets/api_keys_template +61 -0
  85. data/test/rails_root/vendor/plugins/geokit-rails/init.rb +1 -0
  86. data/test/rails_root/vendor/plugins/geokit-rails/install.rb +14 -0
  87. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails.rb +26 -0
  88. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb +456 -0
  89. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/abstract.rb +31 -0
  90. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/mysql.rb +22 -0
  91. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/postgresql.rb +22 -0
  92. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/sqlserver.rb +43 -0
  93. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/defaults.rb +22 -0
  94. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/geocoder_control.rb +16 -0
  95. data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/ip_geocode_lookup.rb +46 -0
  96. data/test/rails_root/vendor/plugins/geokit-rails/test/acts_as_mappable_test.rb +474 -0
  97. data/test/rails_root/vendor/plugins/geokit-rails/test/boot.rb +25 -0
  98. data/test/rails_root/vendor/plugins/geokit-rails/test/database.yml +20 -0
  99. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/companies.yml +7 -0
  100. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/custom_locations.yml +54 -0
  101. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/locations.yml +54 -0
  102. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_addresses.yml +17 -0
  103. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_families.yml +2 -0
  104. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_houses.yml +9 -0
  105. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_organizations.yml +5 -0
  106. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_people.yml +5 -0
  107. data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/stores.yml +0 -0
  108. data/test/rails_root/vendor/plugins/geokit-rails/test/ip_geocode_lookup_test.rb +77 -0
  109. data/test/rails_root/vendor/plugins/geokit-rails/test/models/company.rb +3 -0
  110. data/test/rails_root/vendor/plugins/geokit-rails/test/models/custom_location.rb +12 -0
  111. data/test/rails_root/vendor/plugins/geokit-rails/test/models/location.rb +4 -0
  112. data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_address.rb +4 -0
  113. data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_family.rb +3 -0
  114. data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_house.rb +3 -0
  115. data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_organization.rb +4 -0
  116. data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_person.rb +4 -0
  117. data/test/rails_root/vendor/plugins/geokit-rails/test/models/store.rb +3 -0
  118. data/test/rails_root/vendor/plugins/geokit-rails/test/schema.rb +60 -0
  119. data/test/rails_root/vendor/plugins/geokit-rails/test/tasks.rake +31 -0
  120. data/test/rails_root/vendor/plugins/geokit-rails/test/test_helper.rb +23 -0
  121. metadata +158 -3
@@ -0,0 +1 @@
1
+ jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b}});
@@ -0,0 +1,9 @@
1
+ /*
2
+ * FancyBox - simple and fancy jQuery plugin
3
+ * Examples and documentation at: http://fancy.klade.lv/
4
+ * Version: 1.2.1 (13/03/2009)
5
+ * Copyright (c) 2009 Janis Skarnelis
6
+ * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
7
+ * Requires: jQuery v1.3+
8
+ */
9
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}(';(7($){$.b.2Q=7(){u B.2t(7(){9 1J=$(B).n(\'2Z\');5(1J.1c(/^3w\\(["\']?(.*\\.2p)["\']?\\)$/i)){1J=3t.$1;$(B).n({\'2Z\':\'45\',\'2o\':"3W:3R.4m.4d(3h=F, 3T="+($(B).n(\'41\')==\'2J-3Z\'?\'4c\':\'3N\')+", Q=\'"+1J+"\')"}).2t(7(){9 1b=$(B).n(\'1b\');5(1b!=\'2e\'&&1b!=\'2n\')$(B).n(\'1b\',\'2n\')})}})};9 A,4,16=D,s=1t 1o,1w,1v=1,1y=/\\.(3A|3Y|2p|3c|3d)(.*)?$/i;9 P=($.2q.3K&&2f($.2q.3z.2k(0,1))<8);$.b.c=7(Y){Y=$.3x({},$.b.c.2R,Y);9 2s=B;7 2h(){A=B;4=Y;2r();u D};7 2r(){5(16)u;5($.1O(4.2c)){4.2c()}4.j=[];4.h=0;5(Y.j.N>0){4.j=Y.j}t{9 O={};5(!A.1H||A.1H==\'\'){9 O={d:A.d,X:A.X};5($(A).1G("1m:1D").N){O.1a=$(A).1G("1m:1D")}4.j.2j(O)}t{9 Z=$(2s).2o("a[1H="+A.1H+"]");9 O={};3C(9 i=0;i<Z.N;i++){O={d:Z[i].d,X:Z[i].X};5($(Z[i]).1G("1m:1D").N){O.1a=$(Z[i]).1G("1m:1D")}4.j.2j(O)}3F(4.j[4.h].d!=A.d){4.h++}}}5(4.23){5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'3s\')}$("#1i").n(\'25\',4.2U).J()}1d()};7 1d(){$("#1f, #1e, #V, #G").S();9 d=4.j[4.h].d;5(d.1c(/#/)){9 U=11.3r.d.3f(\'#\')[0];U=d.3g(U,\'\');U=U.2k(U.2l(\'#\'));1k(\'<6 l="3e">\'+$(U).o()+\'</6>\',4.1I,4.1x)}t 5(d.1c(1y)){s=1t 1o;s.Q=d;5(s.3a){1K()}t{$.b.c.34();$(s).x().14(\'3b\',7(){$(".I").S();1K()})}}t 5(d.1c("17")||A.3j.2l("17")>=0){1k(\'<17 l="35" 3q="$.b.c.38()" 3o="3n\'+C.T(C.3l()*3m)+\'" 2K="0" 3E="0" Q="\'+d+\'"></17>\',4.1I,4.1x)}t{$.4p(d,7(2m){1k(\'<6 l="3L">\'+2m+\'</6>\',4.1I,4.1x)})}};7 1K(){5(4.30){9 w=$.b.c.1n();9 r=C.1M(C.1M(w[0]-36,s.g)/s.g,C.1M(w[1]-4b,s.f)/s.f);9 g=C.T(r*s.g);9 f=C.T(r*s.f)}t{9 g=s.g;9 f=s.f}1k(\'<1m 48="" l="49" Q="\'+s.Q+\'" />\',g,f)};7 2F(){5((4.j.N-1)>4.h){9 d=4.j[4.h+1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}5(4.h>0){9 d=4.j[4.h-1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}};7 1k(1j,g,f){16=F;9 L=4.2Y;5(P){$("#q")[0].1E.2u("f");$("#q")[0].1E.2u("g")}5(L>0){g+=L*2;f+=L*2;$("#q").n({\'v\':L+\'z\',\'2E\':L+\'z\',\'2i\':L+\'z\',\'y\':L+\'z\',\'g\':\'2B\',\'f\':\'2B\'});5(P){$("#q")[0].1E.2C(\'f\',\'(B.2D.4j - 20)\');$("#q")[0].1E.2C(\'g\',\'(B.2D.3S - 20)\')}}t{$("#q").n({\'v\':0,\'2E\':0,\'2i\':0,\'y\':0,\'g\':\'2z%\',\'f\':\'2z%\'})}5($("#k").1u(":19")&&g==$("#k").g()&&f==$("#k").f()){$("#q").1Z("2N",7(){$("#q").1C().1F($(1j)).21("1s",7(){1g()})});u}9 w=$.b.c.1n();9 2v=(g+36)>w[0]?w[2]:(w[2]+C.T((w[0]-g-36)/2));9 2w=(f+1z)>w[1]?w[3]:(w[3]+C.T((w[1]-f-1z)/2));9 K={\'y\':2v,\'v\':2w,\'g\':g+\'z\',\'f\':f+\'z\'};5($("#k").1u(":19")){$("#q").1Z("1s",7(){$("#q").1C();$("#k").24(K,4.2X,4.2T,7(){$("#q").1F($(1j)).21("1s",7(){1g()})})})}t{5(4.1W>0&&4.j[4.h].1a!==1L){$("#q").1C().1F($(1j));9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);$("#k").n({\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()});5(4.1X){K.25=\'J\'}$("#k").24(K,4.1W,4.2W,7(){1g()})}t{$("#q").S().1C().1F($(1j)).J();$("#k").n(K).21("1s",7(){1g()})}}};7 2y(){5(4.h!=0){$("#1e, #2O").x().14("R",7(e){e.2x();4.h--;1d();u D});$("#1e").J()}5(4.h!=(4.j.N-1)){$("#1f, #2M").x().14("R",7(e){e.2x();4.h++;1d();u D});$("#1f").J()}};7 1g(){2y();2F();$(W).1B(7(e){5(e.29==27){$.b.c.1l();$(W).x("1B")}t 5(e.29==37&&4.h!=0){4.h--;1d();$(W).x("1B")}t 5(e.29==39&&4.h!=(4.j.N-1)){4.h++;1d();$(W).x("1B")}});5(4.1r){$(11).14("1N 1T",$.b.c.2g)}t{$("6#k").n("1b","2e")}5(4.2b){$("#22").R($.b.c.1l)}$("#1i, #V").14("R",$.b.c.1l);$("#V").J();5(4.j[4.h].X!==1L&&4.j[4.h].X.N>0){$(\'#G 6\').o(4.j[4.h].X);$(\'#G\').J()}5(4.23&&P){$(\'1U, 1Q, 1P\',$(\'#q\')).n(\'1S\',\'19\')}5($.1O(4.2a)){4.2a()}16=D};u B.x(\'R\').R(2h)};$.b.c.2g=7(){9 m=$.b.c.1n();$("#k").n(\'y\',(($("#k").g()+36)>m[0]?m[2]:m[2]+C.T((m[0]-$("#k").g()-36)/2)));$("#k").n(\'v\',(($("#k").f()+1z)>m[1]?m[3]:m[3]+C.T((m[1]-$("#k").f()-1z)/2)))};$.b.c.1h=7(H,2A){u 2f($.3I(H.3u?H[0]:H,2A,F))||0};$.b.c.1R=7(H){9 m=H.4g();m.v+=$.b.c.1h(H,\'3k\');m.v+=$.b.c.1h(H,\'3J\');m.y+=$.b.c.1h(H,\'3H\');m.y+=$.b.c.1h(H,\'3D\');u m};$.b.c.38=7(){$(".I").S();$("#35").J()};$.b.c.1n=7(){u[$(11).g(),$(11).f(),$(W).3i(),$(W).3p()]};$.b.c.2G=7(){5(!$("#I").1u(\':19\')){33(1w);u}$("#I > 6").n(\'v\',(1v*-40)+\'z\');1v=(1v+1)%12};$.b.c.34=7(){33(1w);9 m=$.b.c.1n();$("#I").n({\'y\':((m[0]-40)/2+m[2]),\'v\':((m[1]-40)/2+m[3])}).J();$("#I").14(\'R\',$.b.c.1l);1w=3Q($.b.c.2G,3X)};$.b.c.1l=7(){16=F;$(s).x();$("#1i, #V").x();5(4.2b){$("#22").x()}$("#V, .I, #1e, #1f, #G").S();5(4.1r){$(11).x("1N 1T")}1q=7(){$("#1i, #k").S();5(4.1r){$(11).x("1N 1T")}5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'19\')}5($.1O(4.1V)){4.1V()}16=D};5($("#k").1u(":19")!==D){5(4.26>0&&4.j[4.h].1a!==1L){9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);9 K={\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()};5(4.1X){K.25=\'S\'}$("#k").31(D,F).24(K,4.26,4.2S,1q)}t{$("#k").31(D,F).1Z("2N",1q)}}t{1q()}u D};$.b.c.2V=7(){9 o=\'\';o+=\'<6 l="1i"></6>\';o+=\'<6 l="22">\';o+=\'<6 p="I" l="I"><6></6></6>\';o+=\'<6 l="k">\';o+=\'<6 l="2I">\';o+=\'<6 l="V"></6>\';o+=\'<6 l="E"><6 p="E 44"></6><6 p="E 43"></6><6 p="E 42"></6><6 p="E 3V"></6><6 p="E 3U"></6><6 p="E 3O"></6><6 p="E 3M"></6><6 p="E 3P"></6></6>\';o+=\'<a d="2P:;" l="1e"><1p p="1Y" l="2O"></1p></a><a d="2P:;" l="1f"><1p p="1Y" l="2M"></1p></a>\';o+=\'<6 l="q"></6>\';o+=\'<6 l="G"></6>\';o+=\'</6>\';o+=\'</6>\';o+=\'</6>\';$(o).2H("46");$(\'<32 4i="0" 4h="0" 4k="0"><2L><13 p="G" l="4l"></13><13 p="G" l="4o"><6></6></13><13 p="G" l="4n"></13></2L></32>\').2H(\'#G\');5(P){$("#2I").47(\'<17 p="4a" 4e="2J" 2K="0"></17>\');$("#V, .E, .G, .1Y").2Q()}};$.b.c.2R={2Y:10,30:F,1X:D,1W:0,26:0,2X:3G,2W:\'28\',2S:\'28\',2T:\'28\',1I:3B,1x:3v,23:F,2U:0.3,2b:F,1r:F,j:[],2c:2d,2a:2d,1V:2d};$(W).3y(7(){$.b.c.2V()})})(4f);',62,274,'||||opts|if|div|function||var||fn|fancybox|href||height|width|itemCurrent||itemArray|fancy_outer|id|pos|css|html|class|fancy_content||imagePreloader|else|return|top||unbind|left|px|elem|this|Math|false|fancy_bg|true|fancy_title|el|fancy_loading|show|itemOpts|pad|orig_item|length|item|isIE|src|click|hide|round|target|fancy_close|document|title|settings|subGroup||window||td|bind|orig_pos|busy|iframe||visible|orig|position|match|_change_item|fancy_left|fancy_right|_finish|getNumeric|fancy_overlay|value|_set_content|close|img|getViewport|Image|span|__cleanup|centerOnScroll|normal|new|is|loadingFrame|loadingTimer|frameHeight|imageRegExp|50|objNext|keydown|empty|first|style|append|children|rel|frameWidth|image|_proceed_image|undefined|min|resize|isFunction|select|object|getPosition|visibility|scroll|embed|callbackOnClose|zoomSpeedIn|zoomOpacity|fancy_ico|fadeOut||fadeIn|fancy_wrap|overlayShow|animate|opacity|zoomSpeedOut||swing|keyCode|callbackOnShow|hideOnContentClick|callbackOnStart|null|absolute|parseInt|scrollBox|_initialize|bottom|push|substr|indexOf|data|relative|filter|png|browser|_start|matchedGroup|each|removeExpression|itemLeft|itemTop|stopPropagation|_set_navigation|100|prop|auto|setExpression|parentNode|right|_preload_neighbor_images|animateLoading|appendTo|fancy_inner|no|frameborder|tr|fancy_right_ico|fast|fancy_left_ico|javascript|fixPNG|defaults|easingOut|easingChange|overlayOpacity|build|easingIn|zoomSpeedChange|padding|backgroundImage|imageScale|stop|table|clearInterval|showLoading|fancy_frame|||showIframe||complete|load|bmp|jpeg|fancy_div|split|replace|enabled|scrollLeft|className|paddingTop|random|1000|fancy_iframe|name|scrollTop|onload|location|hidden|RegExp|jquery|355|url|extend|ready|version|jpg|425|for|borderLeftWidth|hspace|while|300|paddingLeft|curCSS|borderTopWidth|msie|fancy_ajax|fancy_bg_w|scale|fancy_bg_sw|fancy_bg_nw|setInterval|DXImageTransform|clientWidth|sizingMethod|fancy_bg_s|fancy_bg_se|progid|66|gif|repeat||backgroundRepeat|fancy_bg_e|fancy_bg_ne|fancy_bg_n|none|body|prepend|alt|fancy_img|fancy_bigIframe|60|crop|AlphaImageLoader|scrolling|jQuery|offset|cellpadding|cellspacing|clientHeight|border|fancy_title_left|Microsoft|fancy_title_right|fancy_title_main|get'.split('|'),0,{}))
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Metadata - jQuery plugin for parsing metadata from elements
3
+ *
4
+ * Copyright (c) 2006 John Resig, Yehuda Katz, J�örn Zaefferer, Paul McLanahan
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
11
+ *
12
+ */
13
+ (function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
@@ -0,0 +1,33 @@
1
+ // QueryString Engine v1.0.1
2
+ //By James Campbell
3
+ (function($) {
4
+ $.querystringvalues = $.queryStringValues = $.QueryStringValues = $.QueryStringvalues = $.queryStringValues = $.queryStringvalues = $.querystringValues = $.getqueryString = $.queryString = $.querystring = $.QueryString = $.Querystring = $.getQueryString = $.getquerystring = $.getQuerystring = function(options)
5
+ {
6
+ defaults = {defaultvalue:"null"} ;
7
+ options = $.extend(defaults , options);
8
+ qs = location.search.substring(1, location.search.length);
9
+ if (qs.length == 0) return options.defaultvalue;
10
+ qs = qs.replace(/\+/g, ' ');
11
+ var args = qs.split('&');
12
+ for (var i = 0; i < args.length; i ++ )
13
+ {
14
+ var value;
15
+ var pair = args[i].split('=');
16
+ var name = unescape(pair[0]);
17
+
18
+ if (pair.length == 2)
19
+ {
20
+ value = unescape(pair[1]);
21
+ }
22
+ else
23
+ {
24
+ value = name;
25
+ }
26
+ if (name == options.id || i == options.id-1)
27
+ {
28
+ return value;
29
+ }
30
+ }
31
+ return options.defaultvalue
32
+ };
33
+ })(jQuery);
@@ -0,0 +1,66 @@
1
+ /**
2
+ * swapImage - jQuery plugin for swapping image
3
+ *
4
+ * Copyright (c) 2008 tszming (tszming@gmail.com)
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ */
11
+
12
+ /**
13
+ * Enable image swapping, requires metadata plugin.
14
+ *
15
+ * @example $.swapImage(".swapImage");
16
+ * @desc Enable image swapping for all images with CSS class name equal to "swapImage", e.g.
17
+ * <img class="swapImage {src: 'images/new.gif'}" src="images/old.gif" />
18
+ *
19
+ * @param i Images to be selected.
20
+ * @param preload Preload the image, default = true.
21
+ * @param repeat Repeat the effect, default = true.
22
+ * @param swapInEvent Event for swap In.
23
+ * @param swapOutEvent Event for swap Out.
24
+ *
25
+ * @name $.swapImage
26
+ * @cat Plugins/SwapImage
27
+ * @author tszming (tszming@gmail.com)
28
+ * @version 1.0.1
29
+ */
30
+ jQuery.swapImage = function(i, preload, repeat, swapInEvent, swapOutEvent) {
31
+
32
+ jQuery.swapImage.preload = function() {
33
+ var img = new Image();
34
+ img.src = jQuery(this).metadata().src;
35
+ };
36
+
37
+ jQuery.swapImage.swap = function() {
38
+ var data = jQuery(this).metadata();
39
+ var tmp = data.src;
40
+ data.src = this.src;
41
+ this.src = tmp;
42
+ };
43
+
44
+ jQuery(document).ready(function() {
45
+
46
+ if (typeof preload == "undefined") preload = true;
47
+ if (typeof repeat == "undefined") repeat = true;
48
+ if (typeof swapInEvent == "undefined" && typeof swapInEvent == "undefined") {
49
+ swapInEvent = "mouseenter"; swapOutEvent = "mouseleave";
50
+ }
51
+
52
+ if (repeat) {
53
+ if (typeof swapOutEvent != "undefined") {
54
+ jQuery(i).bind(swapInEvent, jQuery.swapImage.swap).bind(swapOutEvent, jQuery.swapImage.swap);
55
+ } else {
56
+ jQuery(i).bind(swapInEvent, jQuery.swapImage.swap);
57
+ }
58
+ } else {
59
+ jQuery(i).one(swapInEvent, jQuery.swapImage.swap);
60
+ }
61
+
62
+ if (preload) {
63
+ jQuery(i).each(jQuery.swapImage.preload)
64
+ };
65
+ });
66
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * swapImage - jQuery plugin for swapping image
3
+ *
4
+ * Copyright (c) 2008 tszming (tszming@gmail.com)
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ */
11
+ jQuery.swapImage=function(i,preload,repeat,swapInEvent,swapOutEvent){jQuery.swapImage.preload=function(){var img=new Image();img.src=jQuery(this).metadata().src};jQuery.swapImage.swap=function(){var data=jQuery(this).metadata();var tmp=data.src;data.src=this.src;this.src=tmp};jQuery(document).ready(function(){if(typeof preload=="undefined")preload=true;if(typeof repeat=="undefined")repeat=true;if(typeof swapInEvent=="undefined"&&typeof swapInEvent=="undefined"){swapInEvent="mouseenter";swapOutEvent="mouseleave"}if(repeat){if(typeof swapOutEvent!="undefined"){jQuery(i).bind(swapInEvent,jQuery.swapImage.swap).bind(swapOutEvent,jQuery.swapImage.swap)}else{jQuery(i).bind(swapInEvent,jQuery.swapImage.swap)}}else{jQuery(i).one(swapInEvent,jQuery.swapImage.swap)}if(preload){jQuery(i).each(jQuery.swapImage.preload)}})};
@@ -0,0 +1 @@
1
+ (function($){$().ajaxSend(function(a,xhr,s){xhr.setRequestHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*")})})(jQuery);(function($){$.fn.reset=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};$.fn.enable=function(){return this.each(function(){this.disabled=false})};$.fn.disable=function(){return this.each(function(){this.disabled=true})}})(jQuery);(function($){$.extend({fieldEvent:function(el,obs){var field=el[0]||el,e="change";if(field.type=="radio"||field.type=="checkbox"){e="click"}else{if(obs&&field.type=="text"||field.type=="textarea"){e="keyup"}}return e}});$.fn.extend({delayedObserver:function(delay,callback){var el=$(this);if(typeof window.delayedObserverStack=="undefined"){window.delayedObserverStack=[]}if(typeof window.delayedObserverCallback=="undefined"){window.delayedObserverCallback=function(stackPos){observed=window.delayedObserverStack[stackPos];if(observed.timer){clearTimeout(observed.timer)}observed.timer=setTimeout(function(){observed.timer=null;observed.callback(observed.obj,observed.obj.formVal())},observed.delay*1000);observed.oldVal=observed.obj.formVal()}}window.delayedObserverStack.push({obj:el,timer:null,delay:delay,oldVal:el.formVal(),callback:callback});var stackPos=window.delayedObserverStack.length-1;if(el[0].tagName=="FORM"){$(":input",el).each(function(){var field=$(this);field.bind($.fieldEvent(field,delay),function(){observed=window.delayedObserverStack[stackPos];if(observed.obj.formVal()==observed.obj.oldVal){return}else{window.delayedObserverCallback(stackPos)}})})}else{el.bind($.fieldEvent(el,delay),function(){observed=window.delayedObserverStack[stackPos];if(observed.obj.formVal()==observed.obj.oldVal){return}else{window.delayedObserverCallback(stackPos)}})}},formVal:function(){var el=this[0];if(el.tagName=="FORM"){return this.serialize()}if(el.type=="checkbox"||self.type=="radio"){return this.filter("input:checked").val()||""}else{return this.val()}}})})(jQuery);(function($){$.fn.extend({visualEffect:function(o){e=o.replace(/\_(.)/g,function(m,l){return l.toUpperCase()});return eval("$(this)."+e+"()")},appear:function(speed,callback){return this.fadeIn(speed,callback)},blindDown:function(speed,callback){return this.show("blind",{direction:"vertical"},speed,callback)},blindUp:function(speed,callback){return this.hide("blind",{direction:"vertical"},speed,callback)},blindRight:function(speed,callback){return this.show("blind",{direction:"horizontal"},speed,callback)},blindLeft:function(speed,callback){this.hide("blind",{direction:"horizontal"},speed,callback);return this},dropOut:function(speed,callback){return this.hide("drop",{direction:"down"},speed,callback)},dropIn:function(speed,callback){return this.show("drop",{direction:"up"},speed,callback)},fade:function(speed,callback){return this.fadeOut(speed,callback)},fadeToggle:function(speed,callback){return this.animate({opacity:"toggle"},speed,callback)},fold:function(speed,callback){return this.hide("fold",{},speed,callback)},foldOut:function(speed,callback){return this.show("fold",{},speed,callback)},grow:function(speed,callback){return this.show("scale",{},speed,callback)},highlight:function(speed,callback){return this.show("highlight",{},speed,callback)},puff:function(speed,callback){return this.hide("puff",{},speed,callback)},pulsate:function(speed,callback){return this.show("pulsate",{},speed,callback)},shake:function(speed,callback){return this.show("shake",{},speed,callback)},shrink:function(speed,callback){return this.hide("scale",{},speed,callback)},squish:function(speed,callback){return this.hide("scale",{origin:["top","left"]},speed,callback)},slideUp:function(speed,callback){return this.hide("slide",{direction:"up"},speed,callback)},slideDown:function(speed,callback){return this.show("slide",{direction:"up"},speed,callback)},switchOff:function(speed,callback){return this.hide("clip",{},speed,callback)},switchOn:function(speed,callback){return this.show("clip",{},speed,callback)}})})(jQuery);
@@ -1,9 +1,13 @@
1
1
  //jQuery.noConflict();
2
-
3
2
  jQuery(document).ajaxSend(function(event, request, settings) {
4
- if (typeof(AUTH_TOKEN) == "undefined") return;
3
+ request.setRequestHeader("Accept", "text/javascript");
4
+ request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
5
+
6
+ if (settings.type.toUpperCase() == 'GET' || typeof(AUTH_TOKEN) == "undefined") return; // for details see: http://www.justinball.com/2009/07/08/jquery-ajax-get-in-firefox-post-in-internet-explorer/
7
+ // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
5
8
  settings.data = settings.data || "";
6
- settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
9
+ if (typeof(AUTH_TOKEN) != "undefined")
10
+ settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
7
11
  });
8
12
 
9
13
  function setup_submit_delete(){
@@ -65,12 +69,13 @@ jQuery(document).ready(function() {
65
69
  jQuery("#global-login").focus(function() {
66
70
  jQuery("#global-login").val("");
67
71
  });
68
-
72
+
69
73
  jQuery("#global-password").focus(function() {
70
74
  jQuery("#global-password").val("");
71
75
  });
72
-
76
+
73
77
  jQuery("#quick-login-submit").click(function() {
74
78
  jQuery("#quick-login").submit();
75
- });
79
+ });
80
+
76
81
  });
@@ -0,0 +1,53 @@
1
+ // from http://blog.peelmeagrape.net/2008/7/26/time-ago-in-words-javascript-part-1
2
+ function distanceOfTimeInWords(fromTime, toTime, includeSeconds) {
3
+ var fromSeconds = fromTime.getTime();
4
+ var toSeconds = toTime.getTime();
5
+ var distanceInSeconds = Math.round(Math.abs(fromSeconds - toSeconds) / 1000)
6
+ var distanceInMinutes = Math.round(distanceInSeconds / 60)
7
+ if (distanceInMinutes <= 1) {
8
+ if (!includeSeconds)
9
+ return (distanceInMinutes == 0) ? 'less than a minute' : '1 minute'
10
+ if (distanceInSeconds < 5)
11
+ return 'less than 5 seconds'
12
+ if (distanceInSeconds < 10)
13
+ return 'less than 10 seconds'
14
+ if (distanceInSeconds < 20)
15
+ return 'less than 20 seconds'
16
+ if (distanceInSeconds < 40)
17
+ return 'half a minute'
18
+ if (distanceInSeconds < 60)
19
+ return 'less than a minute'
20
+ return '1 minute'
21
+ }
22
+ if (distanceInMinutes < 45)
23
+ return distanceInMinutes + ' minutes'
24
+ if (distanceInMinutes < 90)
25
+ return "about 1 hour"
26
+ if (distanceInMinutes < 1440)
27
+ return "about " + (Math.round(distanceInMinutes / 60)) + ' hours'
28
+ if (distanceInMinutes < 2880)
29
+ return "1 day"
30
+ if (distanceInMinutes < 43200)
31
+ return (Math.round(distanceInMinutes / 1440)) + ' days'
32
+ if (distanceInMinutes < 86400)
33
+ return "about 1 month"
34
+ if (distanceInMinutes < 525600)
35
+ return (Math.round(distanceInMinutes / 43200)) + ' months'
36
+ if (distanceInMinutes < 1051200)
37
+ return "about 1 year"
38
+ return "over " + (Math.round(distanceInMinutes / 525600)) + ' years'
39
+ }
40
+
41
+ if ( typeof jQuery != "undefined" )
42
+ jQuery.fn.readableDate = function(){
43
+ return this.each(function(){
44
+ var span = jQuery(this);
45
+ var date = distanceOfTimeInWords(new Date(span.text()), new Date(), true);
46
+ if (date)
47
+ jQuery(this).text(date + ' ago');
48
+ });
49
+ };
50
+
51
+ jQuery(document).ready(function() {
52
+ jQuery(".readable-time").readableDate();
53
+ });
@@ -0,0 +1,107 @@
1
+ jQuery(document).ready(function() {
2
+
3
+ jQuery(".pageContainer").draggable({
4
+ zIndex : 1000000,
5
+ revert : 'invalid',
6
+ opacity : 0.5,
7
+ scroll : true,
8
+ helper : 'clone'
9
+ });
10
+
11
+ jQuery("#pageList").droppable({
12
+ accept: ".pageContainer",
13
+ drop: function(ev, ui) {
14
+ var source_li = jQuery(ui.draggable);
15
+ var child_ul = jQuery(this).children('ul');
16
+ var page_id = source_li.children('input').val();
17
+ var parent_id = 0;
18
+ if(same_parent(source_li, child_ul)){
19
+ return;
20
+ }
21
+ insert_alphabetic(child_ul, source_li);
22
+ update_parent(page_id, parent_id);
23
+ }
24
+ });
25
+
26
+ jQuery(".pageContainer").droppable({
27
+ accept: ".pageContainer",
28
+ hoverClass: 'pageContainer-hover',
29
+ tolerance : 'pointer',
30
+ greedy : true,
31
+ drop: function(ev, ui) {
32
+ var source_li = jQuery(ui.draggable);
33
+ var target_li = jQuery(this);
34
+ var page_id = source_li.children('input').val();
35
+ var parent_id = target_li.children('input').val();
36
+ if(target_li.children('ul').length <= 0){
37
+ target_li.append('<ul></ul>');
38
+ }
39
+ var child_ul = target_li.children('ul');
40
+ if(same_parent(source_li, child_ul)){
41
+ return;
42
+ }
43
+ jQuery(this).children('ul:hidden').slideDown();
44
+ insert_alphabetic(child_ul, source_li);
45
+ update_parent(page_id, parent_id);
46
+ }
47
+ });
48
+
49
+ jQuery(".submit-delete").click(function() {
50
+ if(jQuery(this).parents('li:first').siblings('li').length <= 0){
51
+ jQuery(this).parents('li:first').parents('li:first').children('.expander').remove();
52
+ }
53
+ return false;
54
+ });
55
+
56
+ function insert_alphabetic(child_ul, source_li){
57
+ var kids = child_ul.children('li');
58
+ var source_text = source_li.children('span.link').children('a').html().toLowerCase();
59
+ for(i=0; i<kids.length; i++){
60
+ var current_text = jQuery(kids[i]).children('span.link').children('a').html().toLowerCase();
61
+ if(source_text < current_text){
62
+ source_li.insertBefore(kids[i]);
63
+ return;
64
+ }
65
+ }
66
+ source_li.appendTo(child_ul);
67
+ }
68
+
69
+ function same_parent(source_li, child_ul){
70
+ return source_li.parent() == child_ul;
71
+ }
72
+
73
+ function update_parent(page_id, parent_id){
74
+ var path = jQuery('#updatePath').val();
75
+ jQuery.post(path + '/' + page_id + '.js', {parent_id: parent_id, action: 'update', _method: 'put', only_parent: 'true' },
76
+ function(data){
77
+ apply_expander();
78
+ if(data.length > 0){
79
+ var result = eval('(' + data + ')');
80
+ if(!result.success){
81
+ jQuery.jGrowl.error(result.message);
82
+ }
83
+ }
84
+ });
85
+ return false;
86
+ }
87
+
88
+ apply_expander();
89
+ function apply_expander(){
90
+ jQuery(".expander").remove();
91
+ jQuery(".pageContainer ul:hidden li:first-child").parent().parent().prepend('<a class="expander" href="#"><img src="/images/expand.png" /></a>');
92
+ jQuery(".pageContainer ul:visible li:first-child").parent().parent().prepend('<a class="expander" href="#"><img src="/images/collapse.png" /></a>');
93
+ jQuery(".expander").click(function(){
94
+ var img = jQuery(this).children('img');
95
+ var target_ul = jQuery(this).siblings('ul');
96
+ if(img.attr('src') == '/images/expand.png'){
97
+ img.attr('src', '/images/collapse.png');
98
+ target_ul.slideDown();
99
+ } else {
100
+ img.attr('src', '/images/expand.png');
101
+ target_ul.slideUp();
102
+ }
103
+ return false;
104
+ });
105
+ }
106
+
107
+ });
@@ -0,0 +1,15 @@
1
+ .ac_results{padding:0px;border:1px solid black;background-color:white;overflow:hidden;z-index:99999;color:#555;}
2
+ .ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0;}
3
+ .ac_results li{margin:0px;padding:2px 5px;cursor:default;display:block;/*
4
+ if width will be 100% horizontal scrollbar will apear
5
+ when scroll mode will be used
6
+ */
7
+ /*width:100%;*/
8
+ font:menu;font-size:12px;/*
9
+ it is very important,if line-height not setted or setted
10
+ in relative units scroll will be broken in firefox
11
+ */
12
+ line-height:16px;overflow:hidden;}
13
+ .ac_loading{background:white url('/images/spinner.gif') right center no-repeat;}
14
+ .ac_odd{background-color:#eee;}
15
+ .ac_over{background-color:#0A246A;color:white;}
@@ -0,0 +1,44 @@
1
+ html,body{height:100%;}
2
+ div#fancy_overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#666;display:none;z-index:30;}
3
+ * html div#fancy_overlay{position:absolute;height:expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight :document.body.offsetHeight + 'px');}
4
+ div#fancy_wrap{text-align:left;}
5
+ div#fancy_loading{position:absolute;height:40px;width:40px;cursor:pointer;display:none;overflow:hidden;background:transparent;z-index:100;}
6
+ div#fancy_loading div{position:absolute;top:0;left:0;width:40px;height:480px;background:transparent url('/images/fancybox/fancy_progress.png') no-repeat;}
7
+ div#fancy_loading_overlay{position:absolute;background-color:#FFF;z-index:30;}
8
+ div#fancy_loading_icon{position:absolute;background:url('/images/fancybox/fancy_loading.gif') no-repeat;z-index:35;width:16px;height:16px;}
9
+ div#fancy_outer{position:absolute;top:0;left:0;z-index:90;padding:18px 18px 33px 18px;margin:0;overflow:hidden;background:transparent;display:none;}
10
+ div#fancy_inner{position:relative;width:100%;height:100%;border:1px solid #BBB;background:#FFF;}
11
+ div#fancy_content{margin:0;z-index:100;position:absolute;}
12
+ div#fancy_div{background:#000;color:#FFF;height:100%;width:100%;z-index:100;}
13
+ img#fancy_img{position:absolute;top:0;left:0;border:0;padding:0;margin:0;z-index:100;width:100%;height:100%;}
14
+ div#fancy_close{position:absolute;top:-12px;right:-15px;height:30px;width:30px;background:url('/images/fancybox/fancy_closebox.png') top left no-repeat;cursor:pointer;z-index:181;display:none;}
15
+ #fancy_frame{position:relative;width:100%;height:100%;display:none;}
16
+ #fancy_ajax{width:100%;height:100%;overflow:auto;}
17
+ a#fancy_left,a#fancy_right{position:absolute;bottom:0px;height:100%;width:35%;cursor:pointer;z-index:111;display:none;background-image:url(data:image/gif;base64,AAAA);outline:none;}
18
+ a#fancy_left{left:0px;}
19
+ a#fancy_right{right:0px;}
20
+ span.fancy_ico{position:absolute;top:50%;margin-top:-15px;width:30px;height:30px;z-index:112;cursor:pointer;display:block;}
21
+ span#fancy_left_ico{left:-9999px;background:transparent url('/images/fancybox/fancy_left.png') no-repeat;}
22
+ span#fancy_right_ico{right:-9999px;background:transparent url('/images/fancybox/fancy_right.png') no-repeat;}
23
+ a#fancy_left:hover{visibility:visible;}
24
+ a#fancy_right:hover{visibility:visible;}
25
+ a#fancy_left:hover span{left:20px;}
26
+ a#fancy_right:hover span{right:20px;}
27
+ .fancy_bigIframe{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;}
28
+ div#fancy_bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:70;border:0;padding:0;margin:0;}
29
+ div.fancy_bg{position:absolute;display:block;z-index:70;border:0;padding:0;margin:0;}
30
+ div.fancy_bg_n{top:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_n.png') repeat-x;}
31
+ div.fancy_bg_ne{top:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_ne.png') no-repeat;}
32
+ div.fancy_bg_e{right:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_e.png') repeat-y;}
33
+ div.fancy_bg_se{bottom:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_se.png') no-repeat;}
34
+ div.fancy_bg_s{bottom:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_s.png') repeat-x;}
35
+ div.fancy_bg_sw{bottom:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_sw.png') no-repeat;}
36
+ div.fancy_bg_w{left:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_w.png') repeat-y;}
37
+ div.fancy_bg_nw{top:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_nw.png') no-repeat;}
38
+ div#fancy_title{position:absolute;bottom:-33px;left:0;width:100%;z-index:100;display:none;}
39
+ div#fancy_title div{color:#FFF;font:bold 12px Arial;padding-bottom:3px;}
40
+ div#fancy_title table{margin:0 auto;}
41
+ div#fancy_title table td{padding:0;vertical-align:middle;}
42
+ td#fancy_title_left{height:32px;width:15px;background:transparent url(fancy_title_left.png) repeat-x;}
43
+ td#fancy_title_main{height:32px;background:transparent url(fancy_title_main.png) repeat-x;}
44
+ td#fancy_title_right{height:32px;width:15px;background:transparent url(fancy_title_right.png) repeat-x;}
@@ -1,3 +1,8 @@
1
+ /* general */
2
+ .center{text-align:center;}
3
+ #popup_wrapper{width:auto;}
4
+ .waiting{margin:3px 0;padding-left:20px;background:transparent url('/images/spinner.gif') no-repeat scroll left bottom;}
5
+
1
6
  /* forms */
2
7
  input{margin:0 10px 5px 0;padding:4px;font-size:1.3em;}
3
8
  input[type="text"],input[type="password"]{border:1px solid #8f8685;}
@@ -12,18 +17,20 @@ fieldset{border:none;margin:0;padding:0;}
12
17
  form fieldset{margin:0 0 2px;padding:0px;}
13
18
  form fieldset input[type="text"],form fieldset input[type="password"]{width:500px;}
14
19
  .common-form{width:500px;margin:40px auto;}
15
- .common-form h1{font-size:1.8em;}
20
+ .wide-form h1, .common-form h1{font-size:1.8em;}
21
+ .wide-form{width:700px;margin:40px auto;}
16
22
  .form-item{float:left;}
17
23
  .common-content{width:500px;margin:40px auto;font-size:1.2em;color:#555;}
18
24
  .button-link {background-color:transparent;border-top-width: 0px;border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;}
19
25
 
20
26
  /*images*/
27
+ .tiny{width:24px;height:24px;}
21
28
  .icon{width:50px;height:50px;}
22
29
  .thumb{width:100px;height:100px;}
23
30
  .medium{width:300px;height:300px;}
24
31
 
25
32
  /* tips */
26
- .availability{color:#b61e12;}
33
+ .availability{color:#b61e12;position:absolute;}
27
34
  .hidden-tips{display:none;}
28
35
  .required-tip{color:#555555;font-size:1.2em;margin:0pt;font-weight:bolder;height:0px;}
29
36
  .tip{position:absolute;z-index:100;border:2px solid #CCCCCC;background-color:#fff;width:400px;}
@@ -76,4 +83,4 @@ div.jGrowl div.jGrowl-notification h2{text-align:left;font-weight:bold;padding:5
76
83
  #errorExplanation{padding:7px;padding-bottom:12px;margin-bottom:20px;}
77
84
  #errorExplanation h2{text-align:left;font-weight:bold;padding:5px 5px 5px 15px;font-size:16px;background-color:#B61E12;color:#fff;}
78
85
  #errorExplanation p{color:#333;margin-bottom:0;padding:5px;}
79
- #errorExplanation ul li{list-style:square;}
86
+ #errorExplanation ul li{list-style:square;}
@@ -0,0 +1,46 @@
1
+ == 2009-10-02 / Version 1.2.0
2
+ * Overhaul the test suite to be independent of a Rails project
3
+ * Added concept of database adapter. Ported mysql/postgresql conditional code to their own adapter.
4
+ * Added SQL Server support. THANKS http://github.com/brennandunn for all the improvements in this release
5
+
6
+ == 2009-09-26 / Version 1.1.3
7
+ * documentation updates and updated to work with Geokit gem v1.5.0
8
+ * IMPORTANT: in the Geokit gem, Geokit::Geocoders::timeout became Geokit::Geocoders::request_timeout for jruby compatibility.
9
+ The plugin sets this in config/initializers/geokit_config.rb. So if you've upgraded the gem to 1.5.0, you need to
10
+ make the change manually from Geokit::Geocoders::timeout to Geokit::Geocoders::request_timeout in config/initializers/geokit_config.rb
11
+
12
+ == 2009-06-08 / Version 1.1.2
13
+ * Added support for hashes in :through. So you can do: acts_as_mappable :through => { :state => :country } (Thanks José Valim).
14
+
15
+ == 2009-05-22 / Version 1.1.1
16
+ * Support for multiple ip geocoders (Thanks dreamcat4)
17
+ * Now checks if either :origin OR :bounds is passed, and proceeds with geokit query if this is true (Thanks Glenn Powell)
18
+ * Raises a helpful error if someone uses through but the association does not exists or was not defined yet (Thanks José Valim)
19
+
20
+ == 2009-04-11 / Version 1.1.0
21
+ * Fixed :through usages so that the through model is only included in the query if there
22
+ is an :origin passed in (Only if it is a geokit search) (Thanks Glenn Powell)
23
+ * Move library initialisation into lib/geokit-rails. init.rb uses lib/geokit-rails now (thanks Alban Peignier)
24
+ * Handle the case where a user passes a hash to the :conditions Finder option (thanks Adam Greene)
25
+ * Added ability to specify domain-specific API keys (Thanks Glenn Powell)
26
+
27
+ == 2009-02-20
28
+ * More powerful assosciations in the Rails Plugin:You can now specify a model as mappable "through" an associated model.
29
+ In other words, that associated model is the actual mappable model with "lat" and "lng" attributes, but this "through" model
30
+ can still utilize all Geokit's "find by distance" finders. Also Rails 2.3 compatibility (thanks github/glennpow)
31
+
32
+ == 2008-12-18
33
+ * Split Rails plugin from geocoder gem
34
+ * updated for Rails 2.2.2
35
+
36
+ == 2008-08-20
37
+ * Further fix of distance calculation, this time in SQL. Now uses least() function, which is available in MySQL version 3.22.5+ and postgres versions 8.1+
38
+
39
+ == 2008-01-16
40
+ * fixed the "zero-distance" bug (calculating between two points that are the same)
41
+
42
+ == 2007-11-12
43
+ * fixed a small but with queries crossing meridian, and also fixed find(:closest)
44
+
45
+ == 2007-10-11
46
+ * Fixed Rails2/Edge compatability