derailed-ziya 2.0.8 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. data/Manifest.txt +240 -432
  2. data/README.txt +104 -97
  3. data/Rakefile +3 -2
  4. data/bin/ziyafy +33 -10
  5. data/examples/charts/basic_chart.rb +47 -0
  6. data/{charts → examples/charts/public/charts}/AC_RunActiveContent.js +0 -0
  7. data/{charts → examples/charts/public/charts}/charts.swf +0 -0
  8. data/{charts → examples/charts/public/charts}/charts_library/ar3d.swf +0 -0
  9. data/{charts → examples/charts/public/charts}/charts_library/arno.swf +0 -0
  10. data/{charts → examples/charts/public/charts}/charts_library/ars3.swf +0 -0
  11. data/{charts → examples/charts/public/charts}/charts_library/arst.swf +0 -0
  12. data/{charts → examples/charts/public/charts}/charts_library/brfl.swf +0 -0
  13. data/{charts → examples/charts/public/charts}/charts_library/brno.swf +0 -0
  14. data/{charts → examples/charts/public/charts}/charts_library/brst.swf +0 -0
  15. data/{charts → examples/charts/public/charts}/charts_library/buno.swf +0 -0
  16. data/{charts → examples/charts/public/charts}/charts_library/cl3d.swf +0 -0
  17. data/{charts → examples/charts/public/charts}/charts_library/clfl.swf +0 -0
  18. data/{charts → examples/charts/public/charts}/charts_library/clim.swf +0 -0
  19. data/{charts → examples/charts/public/charts}/charts_library/clno.swf +0 -0
  20. data/{charts → examples/charts/public/charts}/charts_library/clp3.swf +0 -0
  21. data/{charts → examples/charts/public/charts}/charts_library/cls3.swf +0 -0
  22. data/{charts → examples/charts/public/charts}/charts_library/clst.swf +0 -0
  23. data/{charts → examples/charts/public/charts}/charts_library/cnno.swf +0 -0
  24. data/{charts → examples/charts/public/charts}/charts_library/dono.swf +0 -0
  25. data/{charts → examples/charts/public/charts}/charts_library/lnno.swf +0 -0
  26. data/{charts → examples/charts/public/charts}/charts_library/mxno.swf +0 -0
  27. data/{charts → examples/charts/public/charts}/charts_library/pi3d.swf +0 -0
  28. data/{charts → examples/charts/public/charts}/charts_library/piim.swf +0 -0
  29. data/{charts → examples/charts/public/charts}/charts_library/pino.swf +0 -0
  30. data/{charts → examples/charts/public/charts}/charts_library/pono.swf +0 -0
  31. data/{charts → examples/charts/public/charts}/charts_library/scno.swf +0 -0
  32. data/{charts → examples/charts/public/charts}/full_screen.swf +0 -0
  33. data/{charts → examples/charts/public/charts}/scripts/output_jpg.php +0 -0
  34. data/{charts → examples/charts/public/charts}/sliders/black.swf +0 -0
  35. data/{charts → examples/charts/public/charts}/sliders/preview_handle_1.swf +0 -0
  36. data/{charts → examples/charts/public/charts}/sliders/preview_handle_2.swf +0 -0
  37. data/examples/charts/public/charts/themes/cool_theme/column_chart.yml +150 -0
  38. data/{charts → examples/charts/public/charts}/themes/readme.txt +0 -0
  39. data/examples/charts/views/index.erb +12 -0
  40. data/examples/maps/basic_map.rb +72 -0
  41. data/examples/maps/helpers/map_helper.rb +15 -0
  42. data/examples/maps/models/confidential_herpes_report.rb +78 -0
  43. data/examples/maps/public/javascripts/jquery-1.3.2.js +4376 -0
  44. data/examples/maps/public/map.xml +336 -0
  45. data/examples/maps/public/maps/js/Exception.js +45 -0
  46. data/examples/maps/public/maps/js/FlashProxy.js +72 -0
  47. data/examples/maps/public/maps/js/FlashSerializer.js +165 -0
  48. data/examples/maps/public/maps/js/FlashTag.js +111 -0
  49. data/examples/maps/public/maps/js/JavaScriptFlashGateway.js +455 -0
  50. data/examples/maps/public/maps/js/JavaScriptFlashGateway.swf +0 -0
  51. data/examples/maps/public/maps/map_library/australia.swf +0 -0
  52. data/examples/maps/public/maps/map_library/belgium.swf +0 -0
  53. data/examples/maps/public/maps/map_library/brazil.swf +0 -0
  54. data/examples/maps/public/maps/map_library/canada.swf +0 -0
  55. data/examples/maps/public/maps/map_library/europe.swf +0 -0
  56. data/examples/maps/public/maps/map_library/france.swf +0 -0
  57. data/examples/maps/public/maps/map_library/germany.swf +0 -0
  58. data/examples/maps/public/maps/map_library/italy.swf +0 -0
  59. data/examples/maps/public/maps/map_library/mexico.swf +0 -0
  60. data/examples/maps/public/maps/map_library/sweden.swf +0 -0
  61. data/examples/maps/public/maps/map_library/uk_ireland.swf +0 -0
  62. data/examples/maps/public/maps/map_library/us.swf +0 -0
  63. data/examples/maps/public/maps/map_library/us_canada.swf +0 -0
  64. data/examples/maps/public/maps/map_library/world.swf +0 -0
  65. data/examples/maps/public/maps/themes/default/base_map.yml +27 -0
  66. data/examples/maps/public/maps/themes/default/us_map.yml +20 -0
  67. data/examples/maps/public/maps/themes/default/us_map_2.yml +17 -0
  68. data/examples/maps/public/maps/themes/readme.txt +13 -0
  69. data/examples/maps/public/stylesheets/map.css +16 -0
  70. data/examples/maps/views/index.erb +26 -0
  71. data/examples/maps/views/layout.erb +21 -0
  72. data/lib/ziya/charts/base.rb +15 -14
  73. data/lib/ziya/{components → charts/support}/area.rb +2 -2
  74. data/lib/ziya/{components → charts/support}/axis_category.rb +1 -1
  75. data/lib/ziya/{components → charts/support}/axis_ticks.rb +1 -1
  76. data/lib/ziya/{components → charts/support}/axis_value.rb +1 -1
  77. data/lib/ziya/{components → charts/support}/base.rb +9 -21
  78. data/lib/ziya/{components → charts/support}/bevel.rb +1 -1
  79. data/lib/ziya/{components → charts/support}/blur.rb +1 -1
  80. data/lib/ziya/{components → charts/support}/button.rb +1 -1
  81. data/lib/ziya/{components → charts/support}/chart_border.rb +1 -1
  82. data/lib/ziya/{components → charts/support}/chart_grid_h.rb +1 -1
  83. data/lib/ziya/{components → charts/support}/chart_grid_v.rb +1 -1
  84. data/lib/ziya/{components → charts/support}/chart_guide.rb +1 -1
  85. data/lib/ziya/{components → charts/support}/chart_label.rb +1 -1
  86. data/lib/ziya/{components → charts/support}/chart_note.rb +1 -1
  87. data/lib/ziya/{components → charts/support}/chart_pref.rb +1 -1
  88. data/lib/ziya/{components → charts/support}/chart_rect.rb +1 -1
  89. data/lib/ziya/{components → charts/support}/chart_transition.rb +1 -1
  90. data/lib/ziya/{components → charts/support}/circle.rb +1 -1
  91. data/lib/ziya/{components → charts/support}/context_menu.rb +1 -3
  92. data/lib/ziya/{components → charts/support}/draw.rb +31 -8
  93. data/lib/ziya/{components → charts/support}/draw_base.rb +1 -1
  94. data/lib/ziya/{components → charts/support}/filter.rb +1 -1
  95. data/lib/ziya/{components → charts/support}/flash_to_javascript.rb +1 -3
  96. data/lib/ziya/{components → charts/support}/glow.rb +1 -1
  97. data/lib/ziya/{components → charts/support}/image.rb +1 -1
  98. data/lib/ziya/{components → charts/support}/legend.rb +1 -1
  99. data/lib/ziya/{components → charts/support}/line.rb +1 -1
  100. data/lib/ziya/{components → charts/support}/link.rb +1 -1
  101. data/lib/ziya/{components → charts/support}/link_data.rb +1 -1
  102. data/lib/ziya/{components → charts/support}/rect.rb +1 -1
  103. data/lib/ziya/{components → charts/support}/scroll.rb +1 -3
  104. data/lib/ziya/{components → charts/support}/series.rb +1 -3
  105. data/lib/ziya/{components → charts/support}/series_color.rb +1 -1
  106. data/lib/ziya/{components → charts/support}/series_explode.rb +1 -1
  107. data/lib/ziya/{components → charts/support}/shadow.rb +1 -1
  108. data/lib/ziya/{components → charts/support}/text.rb +9 -1
  109. data/lib/ziya/{components → charts/support}/tooltip.rb +1 -1
  110. data/lib/ziya/{components → charts/support}/update.rb +1 -1
  111. data/lib/ziya/core_ext/string.rb +31 -0
  112. data/lib/ziya/gauges/base.rb +17 -12
  113. data/lib/ziya/gauges/support/base.rb +4 -12
  114. data/lib/ziya/gauges/support/radial_numbers.rb +1 -1
  115. data/lib/ziya/html_helpers/base.rb +91 -0
  116. data/lib/ziya/html_helpers/charts.rb +200 -0
  117. data/lib/ziya/html_helpers/gauges.rb +90 -0
  118. data/lib/ziya/html_helpers/maps.rb +74 -0
  119. data/lib/ziya/html_helpers.rb +1 -0
  120. data/lib/ziya/maps/australia.rb +9 -0
  121. data/lib/ziya/maps/base.rb +409 -0
  122. data/lib/ziya/maps/belgium.rb +7 -0
  123. data/lib/ziya/maps/brazil.rb +7 -0
  124. data/lib/ziya/maps/canada.rb +7 -0
  125. data/lib/ziya/maps/europe.rb +7 -0
  126. data/lib/ziya/maps/france.rb +7 -0
  127. data/lib/ziya/maps/geocode.rb +18 -0
  128. data/lib/ziya/maps/germany.rb +7 -0
  129. data/lib/ziya/maps/italy.rb +7 -0
  130. data/lib/ziya/maps/mexico.rb +7 -0
  131. data/lib/ziya/maps/support/arc.rb +7 -0
  132. data/lib/ziya/maps/support/arc_color.rb +7 -0
  133. data/lib/ziya/maps/support/arc_range.rb +7 -0
  134. data/lib/ziya/maps/support/background_color.rb +7 -0
  135. data/lib/ziya/maps/support/base.rb +34 -0
  136. data/lib/ziya/maps/support/default_color.rb +7 -0
  137. data/lib/ziya/maps/support/default_point.rb +7 -0
  138. data/lib/ziya/maps/support/first_zoom.rb +7 -0
  139. data/lib/ziya/maps/support/heat_range.rb +35 -0
  140. data/lib/ziya/maps/support/hover.rb +7 -0
  141. data/lib/ziya/maps/support/line.rb +7 -0
  142. data/lib/ziya/maps/support/line_color.rb +7 -0
  143. data/lib/ziya/maps/support/line_range.rb +7 -0
  144. data/lib/ziya/maps/support/outline_color.rb +7 -0
  145. data/lib/ziya/maps/support/point.rb +8 -0
  146. data/lib/ziya/maps/support/point_range.rb +7 -0
  147. data/lib/ziya/maps/support/range.rb +31 -0
  148. data/lib/ziya/maps/support/ranges.rb +18 -0
  149. data/lib/ziya/maps/support/region.rb +7 -0
  150. data/lib/ziya/maps/support/scale_points.rb +7 -0
  151. data/lib/ziya/maps/support/show_name.rb +7 -0
  152. data/lib/ziya/maps/support/state.rb +7 -0
  153. data/lib/ziya/maps/support/state_info_icon.rb +7 -0
  154. data/lib/ziya/maps/support/zoom_mode.rb +7 -0
  155. data/lib/ziya/maps/support/zoom_out_button.rb +7 -0
  156. data/lib/ziya/maps/support/zoom_out_scale.rb +7 -0
  157. data/lib/ziya/maps/sweden.rb +7 -0
  158. data/lib/ziya/maps/uk.rb +7 -0
  159. data/lib/ziya/maps/us.rb +7 -0
  160. data/lib/ziya/maps/world.rb +7 -0
  161. data/lib/ziya/version.rb +3 -3
  162. data/lib/ziya/yaml_helpers/base.rb +20 -0
  163. data/lib/ziya/yaml_helpers/charts.rb +49 -0
  164. data/lib/ziya/yaml_helpers/gauges.rb +33 -0
  165. data/lib/ziya/yaml_helpers/maps.rb +17 -0
  166. data/lib/ziya/yaml_helpers.rb +1 -0
  167. data/lib/ziya.rb +20 -11
  168. data/resources/charts/AC_RunActiveContent.js +292 -0
  169. data/resources/charts/charts.swf +0 -0
  170. data/resources/charts/charts_library/ar3d.swf +0 -0
  171. data/resources/charts/charts_library/arno.swf +0 -0
  172. data/resources/charts/charts_library/ars3.swf +0 -0
  173. data/resources/charts/charts_library/arst.swf +0 -0
  174. data/resources/charts/charts_library/brfl.swf +0 -0
  175. data/resources/charts/charts_library/brno.swf +0 -0
  176. data/resources/charts/charts_library/brst.swf +0 -0
  177. data/resources/charts/charts_library/buno.swf +0 -0
  178. data/resources/charts/charts_library/cl3d.swf +0 -0
  179. data/resources/charts/charts_library/clfl.swf +0 -0
  180. data/resources/charts/charts_library/clim.swf +0 -0
  181. data/resources/charts/charts_library/clno.swf +0 -0
  182. data/resources/charts/charts_library/clp3.swf +0 -0
  183. data/resources/charts/charts_library/cls3.swf +0 -0
  184. data/resources/charts/charts_library/clst.swf +0 -0
  185. data/resources/charts/charts_library/cnno.swf +0 -0
  186. data/resources/charts/charts_library/dono.swf +0 -0
  187. data/resources/charts/charts_library/lnno.swf +0 -0
  188. data/resources/charts/charts_library/mxno.swf +0 -0
  189. data/resources/charts/charts_library/pi3d.swf +0 -0
  190. data/resources/charts/charts_library/piim.swf +0 -0
  191. data/resources/charts/charts_library/pino.swf +0 -0
  192. data/resources/charts/charts_library/pono.swf +0 -0
  193. data/resources/charts/charts_library/scno.swf +0 -0
  194. data/resources/charts/full_screen.swf +0 -0
  195. data/resources/charts/scripts/output_jpg.php +23 -0
  196. data/resources/charts/sliders/black.swf +0 -0
  197. data/resources/charts/sliders/preview_handle_1.swf +0 -0
  198. data/resources/charts/sliders/preview_handle_2.swf +0 -0
  199. data/resources/charts/themes/readme.txt +13 -0
  200. data/{gauges → resources/gauges}/designs/circle.yml +0 -0
  201. data/{gauges → resources/gauges}/designs/signal.yml +0 -0
  202. data/{gauges → resources/gauges}/designs/thermo.yml +0 -0
  203. data/{gauges → resources/gauges}/designs/title.yml +0 -0
  204. data/{gauges → resources/gauges}/gauge.swf +0 -0
  205. data/resources/maps/js/Exception.js +45 -0
  206. data/resources/maps/js/FlashProxy.js +72 -0
  207. data/resources/maps/js/FlashSerializer.js +165 -0
  208. data/resources/maps/js/FlashTag.js +111 -0
  209. data/resources/maps/js/JavaScriptFlashGateway.js +455 -0
  210. data/resources/maps/js/JavaScriptFlashGateway.swf +0 -0
  211. data/resources/maps/map_library/australia.swf +0 -0
  212. data/resources/maps/map_library/belgium.swf +0 -0
  213. data/resources/maps/map_library/brazil.swf +0 -0
  214. data/resources/maps/map_library/canada.swf +0 -0
  215. data/resources/maps/map_library/europe.swf +0 -0
  216. data/resources/maps/map_library/france.swf +0 -0
  217. data/resources/maps/map_library/germany.swf +0 -0
  218. data/resources/maps/map_library/italy.swf +0 -0
  219. data/resources/maps/map_library/mexico.swf +0 -0
  220. data/resources/maps/map_library/sweden.swf +0 -0
  221. data/resources/maps/map_library/uk_ireland.swf +0 -0
  222. data/resources/maps/map_library/us.swf +0 -0
  223. data/resources/maps/map_library/us_canada.swf +0 -0
  224. data/resources/maps/map_library/world.swf +0 -0
  225. data/resources/maps/themes/readme.txt +13 -0
  226. data/spec/charts/base_spec.rb +2 -2
  227. data/spec/charts/chart_type_spec.rb +3 -4
  228. data/spec/{components → charts/support}/area_spec.rb +8 -8
  229. data/spec/charts/support/draw_spec.rb +41 -0
  230. data/spec/{components → charts/support}/filter_spec.rb +6 -6
  231. data/spec/{components → charts/support}/link_spec.rb +6 -6
  232. data/spec/{components → charts/support}/series.rb +4 -4
  233. data/spec/{components → charts/support}/series_color_spec.rb +4 -4
  234. data/spec/{components → charts/support}/series_explode.rb +4 -4
  235. data/spec/{components → charts/support}/series_explode_spec.rb +4 -4
  236. data/spec/core_ext/string_spec.rb +40 -0
  237. data/spec/gauges/base_spec.rb +1 -1
  238. data/spec/html_helpers/base_spec.rb +50 -0
  239. data/spec/html_helpers/charts_spec.rb +23 -0
  240. data/spec/html_helpers/gauges_spec.rb +16 -0
  241. data/spec/html_helpers/maps_spec.rb +20 -0
  242. data/spec/maps/base_spec.rb +82 -0
  243. data/spec/maps/support/default_color_spec.rb +29 -0
  244. data/spec/maps/support/heat_range_spec.rb +29 -0
  245. data/spec/maps/us_spec.rb +12 -0
  246. data/spec/maps/world_spec.rb +18 -0
  247. data/spec/spec_helper.rb +5 -4
  248. data/spec/themes/maps/base_map.yml +81 -0
  249. data/spec/themes/maps/us_map.yml +6 -0
  250. data/spec/themes/maps/world_map.yml +6 -0
  251. data/spec/themes/maps/world_ov_map.yml +6 -0
  252. data/spec/{helpers/base_helper_spec.rb → yaml_helpers/charts_spec.rb} +10 -13
  253. data/spec/yaml_helpers/gauges_spec.rb +15 -0
  254. data/spec/ziya_helper_spec.rb +118 -116
  255. data/tasks/gem.rake +1 -1
  256. data/tasks/setup.rb +1 -1
  257. data/ziya.gemspec +39 -0
  258. metadata +259 -438
  259. data/lib/ziya/helpers/base_helper.rb +0 -91
  260. data/lib/ziya/utils/text.rb +0 -39
  261. data/lib/ziya/ziya_helper.rb +0 -362
  262. data/spec/components/draw_spec.rb +0 -37
  263. data/spec/utils/text_spec.rb +0 -33
@@ -0,0 +1,336 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- States with the Death Penalty -->
3
+ <us_states>
4
+
5
+
6
+
7
+
8
+ <state id="range">
9
+ <data>6</data>
10
+ <color>ff0000</color>
11
+ </state>
12
+ <state id="range">
13
+ <data>5</data>
14
+
15
+ <color>dd0000</color>
16
+ </state>
17
+ <state id="range">
18
+ <data>4</data>
19
+ <color>bb0000</color>
20
+ </state>
21
+ <state id="range">
22
+ <data>3</data>
23
+ <color>990000</color>
24
+
25
+ </state>
26
+ <state id="range">
27
+ <data>2</data>
28
+ <color>770000</color>
29
+ </state>
30
+ <state id="range">
31
+ <data>1</data>
32
+ <color>cc0033</color>
33
+ </state>
34
+
35
+ <state id="range">
36
+ <data>0</data>
37
+ <color>ff0033</color>
38
+ </state>
39
+
40
+ <state id="outline_color">
41
+ <color>330000</color>
42
+ </state>
43
+ <state id="default_color">
44
+ <color>ffffff</color>
45
+
46
+ </state>
47
+ <state id="background_color">
48
+ <color>ffffff</color>
49
+ </state>
50
+
51
+
52
+ <state id="AL">
53
+ <name>Alabama</name>
54
+ <data>6</data>
55
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=AL</url>
56
+
57
+ </state>
58
+ <state id="AK">
59
+ <name>Alaska</name>
60
+ <data>1</data>
61
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=AK</url>
62
+ </state>
63
+ <state id="AZ">
64
+ <name>Arizona</name>
65
+ <data>2</data>
66
+
67
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=AZ</url>
68
+ </state>
69
+ <state id="AR">
70
+ <name>Arkansas</name>
71
+ <data>0</data>
72
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=AR</url>
73
+ </state>
74
+ <state id="CA">
75
+ <name>California</name>
76
+
77
+ <data>0</data>
78
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=CA</url>
79
+ </state>
80
+ <state id="CO">
81
+ <name>Colorado</name>
82
+ <data>5</data>
83
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=CO</url>
84
+
85
+ </state>
86
+ <state id="CT">
87
+ <name>Connecticut</name>
88
+ <data>3</data>
89
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=CT</url>
90
+ </state>
91
+ <state id="DE">
92
+ <name>Delaware</name>
93
+ <data>2</data>
94
+
95
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=DE</url>
96
+ </state>
97
+ <state id="DC">
98
+ <name>District of Columbia</name>
99
+ <data>4</data>
100
+ </state>
101
+ <state id="FL">
102
+ <name>Florida</name>
103
+ <data>3</data>
104
+
105
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=FL</url>
106
+ </state>
107
+ <state id="GA">
108
+ <name>Georgia</name>
109
+ <data>1</data>
110
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=GA</url>
111
+ </state>
112
+ <state id="HI">
113
+ <name>Hawaii</name>
114
+
115
+ <data>2</data>
116
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=HI</url>
117
+ </state>
118
+ <state id="ID">
119
+ <name>Idaho</name>
120
+ <data>3</data>
121
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=ID</url>
122
+
123
+ </state>
124
+ <state id="IL">
125
+ <name>Illinois</name>
126
+ <data>6</data>
127
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=IL</url>
128
+ </state>
129
+ <state id="IN">
130
+ <name>Indiana</name>
131
+ <data>2</data>
132
+
133
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=IN</url>
134
+ </state>
135
+ <state id="IA">
136
+ <name>Iowa</name>
137
+ <data>2</data>
138
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=IA</url>
139
+ </state>
140
+ <state id="KS">
141
+ <name>Kansas</name>
142
+
143
+ <data>2</data>
144
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=KS</url>
145
+ </state>
146
+ <state id="KY">
147
+ <name>Kentucky</name>
148
+ <data>4</data>
149
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=KY</url>
150
+
151
+ </state>
152
+ <state id="LA">
153
+ <name>Louisiana</name>
154
+ <data>5</data>
155
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=LA</url>
156
+ </state>
157
+ <state id="ME">
158
+ <name>Maine</name>
159
+ <data>1</data>
160
+
161
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=ME</url>
162
+ </state>
163
+ <state id="MD">
164
+ <name>Maryland</name>
165
+ <data>0</data>
166
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MD</url>
167
+ </state>
168
+ <state id="MA">
169
+ <name>Massachusetts</name>
170
+
171
+ <data>0</data>
172
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MA</url>
173
+ </state>
174
+ <state id="MI">
175
+ <name>Michigan</name>
176
+ <data>1</data>
177
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MI</url>
178
+
179
+ </state>
180
+ <state id="MN">
181
+ <name>Minnesota</name>
182
+ <data>0</data>
183
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MN</url>
184
+ </state>
185
+ <state id="MS">
186
+ <name>Mississippi</name>
187
+ <data>2</data>
188
+
189
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MS</url>
190
+ </state>
191
+ <state id="MO">
192
+ <name>Missouri</name>
193
+ <data>1</data>
194
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MO</url>
195
+ </state>
196
+ <state id="MT">
197
+ <name>Montana</name>
198
+
199
+ <data>0</data>
200
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=MT</url>
201
+ </state>
202
+ <state id="NE">
203
+ <name>Nebraska</name>
204
+ <data>1</data>
205
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NE</url>
206
+
207
+ </state>
208
+ <state id="NV">
209
+ <name>Nevada</name>
210
+ <data>4</data>
211
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NV</url>
212
+ </state>
213
+ <state id="NH">
214
+ <name>New Hampshire</name>
215
+ <data>4</data>
216
+
217
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NH</url>
218
+ </state>
219
+ <state id="NJ">
220
+ <name>New Jersey</name>
221
+ <data>1</data>
222
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NJ</url>
223
+ </state>
224
+ <state id="NM">
225
+ <name>New Mexico</name>
226
+
227
+ <data>0</data>
228
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NM</url>
229
+ </state>
230
+ <state id="NY">
231
+ <name>New York</name>
232
+ <data>2</data>
233
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NY</url>
234
+
235
+ </state>
236
+ <state id="NC">
237
+ <name>North Carolina</name>
238
+ <data>0</data>
239
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=NC</url>
240
+ </state>
241
+ <state id="ND">
242
+ <name>North Dakota</name>
243
+ <data>5</data>
244
+
245
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=ND</url>
246
+ </state>
247
+ <state id="OH">
248
+ <name>Ohio</name>
249
+ <data>0</data>
250
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=OH</url>
251
+ </state>
252
+ <state id="OK">
253
+ <name>Oklahoma</name>
254
+
255
+ <data>4</data>
256
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=OK</url>
257
+ </state>
258
+ <state id="OR">
259
+ <name>Oregon</name>
260
+ <data>1</data>
261
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=OR</url>
262
+
263
+ </state>
264
+ <state id="PA">
265
+ <name>Pennsylvania</name>
266
+ <data>5</data>
267
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=PA</url>
268
+ </state>
269
+ <state id="RI">
270
+ <name>Rhode Island</name>
271
+ <data>1</data>
272
+
273
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=RI</url>
274
+ </state>
275
+ <state id="SC">
276
+ <name>South Carolina</name>
277
+ <data>2</data>
278
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=SC</url>
279
+ </state>
280
+ <state id="SD">
281
+ <name>South Dakota</name>
282
+
283
+ <data>4</data>
284
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=SD</url>
285
+ </state>
286
+ <state id="TN">
287
+ <name>Tennessee</name>
288
+ <data>3</data>
289
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=TN</url>
290
+
291
+ </state>
292
+ <state id="TX">
293
+ <name>Texas</name>
294
+ <data>3</data>
295
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=TX</url>
296
+ </state>
297
+ <state id="UT">
298
+ <name>Utah</name>
299
+ <data>1</data>
300
+
301
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=UT</url>
302
+ </state>
303
+ <state id="VT">
304
+ <name>Vermont</name>
305
+ <data>1</data>
306
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=VT</url>
307
+ </state>
308
+ <state id="VA">
309
+ <name>Virginia</name>
310
+
311
+ <data>6</data>
312
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=VA</url>
313
+ </state>
314
+ <state id="WA">
315
+ <name>Washington</name>
316
+ <data>2</data>
317
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=WA</url>
318
+
319
+ </state>
320
+ <state id="WV">
321
+ <name>West Virginia</name>
322
+ <data>1</data>
323
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=WV</url>
324
+ </state>
325
+ <state id="WI">
326
+ <name>Wisconsin</name>
327
+ <data>3</data>
328
+
329
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=WI</url>
330
+ </state>
331
+ <state id="WY">
332
+ <name>Wyoming</name>
333
+ <data>2</data>
334
+ <url>http://www.senate.gov/general/contact_information/senators_cfm.cfm?State=WY</url>
335
+ </state>
336
+ </us_states>
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Create a new Exception object.
3
+ * name: The name of the exception.
4
+ * message: The exception message.
5
+ */
6
+ function Exception(name, message)
7
+ {
8
+ if (name)
9
+ this.name = name;
10
+ if (message)
11
+ this.message = message;
12
+ }
13
+
14
+ /**
15
+ * Set the name of the exception.
16
+ */
17
+ Exception.prototype.setName = function(name)
18
+ {
19
+ this.name = name;
20
+ }
21
+
22
+ /**
23
+ * Get the exception's name.
24
+ */
25
+ Exception.prototype.getName = function()
26
+ {
27
+ return this.name;
28
+ }
29
+
30
+ /**
31
+ * Set a message on the exception.
32
+ */
33
+ Exception.prototype.setMessage = function(msg)
34
+ {
35
+ this.message = msg;
36
+ }
37
+
38
+ /**
39
+ * Get the exception message.
40
+ */
41
+ Exception.prototype.getMessage = function()
42
+ {
43
+ return this.message;
44
+ }
45
+
@@ -0,0 +1,72 @@
1
+ /**
2
+ * The FlashProxy object is what proxies function calls between JavaScript and Flash.
3
+ * It handles all argument serialization issues.
4
+ */
5
+
6
+ /**
7
+ * Instantiates a new FlashProxy object. Pass in a uniqueID and the name (including the path)
8
+ * of the Flash proxy SWF. The ID is the same ID that needs to be passed into your Flash content as lcId.
9
+ */
10
+ function FlashProxy(uid, proxySwfName)
11
+ {
12
+ this.uid = uid;
13
+ this.proxySwfName = proxySwfName;
14
+ this.flashSerializer = new FlashSerializer(false);
15
+ }
16
+
17
+ /**
18
+ * Call a function in your Flash content. Arguments should be:
19
+ * 1. ActionScript function name to call,
20
+ * 2. any number of additional arguments of type object,
21
+ * array, string, number, boolean, date, null, or undefined.
22
+ */
23
+ FlashProxy.prototype.call = function()
24
+ {
25
+
26
+ if (arguments.length == 0)
27
+ {
28
+ throw new Exception("Flash Proxy Exception",
29
+ "The first argument should be the function name followed by any number of additional arguments.");
30
+ }
31
+
32
+ var qs = 'lcId=' + escape(this.uid) + '&functionName=' + escape(arguments[0]);
33
+
34
+ if (arguments.length > 1)
35
+ {
36
+ var justArgs = new Array();
37
+ for (var i = 1; i < arguments.length; ++i)
38
+ {
39
+ justArgs.push(arguments[i]);
40
+ }
41
+ qs += ('&' + this.flashSerializer.serialize(justArgs));
42
+ }
43
+
44
+ var divName = '_flash_proxy_' + this.uid;
45
+ if(!document.getElementById(divName))
46
+ {
47
+ var newTarget = document.createElement("div");
48
+ newTarget.id = divName;
49
+ document.body.appendChild(newTarget);
50
+ }
51
+ var target = document.getElementById(divName);
52
+ var ft = new FlashTag(this.proxySwfName, 1, 1);
53
+ ft.setVersion('6,0,65,0');
54
+ ft.setFlashvars(qs);
55
+ target.innerHTML = ft.toString();
56
+ }
57
+
58
+ /**
59
+ * This is the function that proxies function calls from Flash to JavaScript.
60
+ * It is called implicitly.
61
+ */
62
+ FlashProxy.callJS = function()
63
+ {
64
+ var functionToCall = eval(arguments[0]);
65
+ var argArray = new Array();
66
+ for (var i = 1; i < arguments.length; ++i)
67
+ {
68
+ argArray.push(arguments[i]);
69
+ }
70
+ functionToCall.apply(functionToCall, argArray);
71
+ }
72
+
@@ -0,0 +1,165 @@
1
+ /**
2
+ * The FlashSerializer serializes JavaScript variables of types object, array, string,
3
+ * number, date, boolean, null or undefined into XML.
4
+ */
5
+
6
+ /**
7
+ * Create a new instance of the FlashSerializer.
8
+ * useCdata: Whether strings should be treated as character data. If false, strings are simply XML encoded.
9
+ */
10
+ function FlashSerializer(useCdata)
11
+ {
12
+ this.useCdata = useCdata;
13
+ }
14
+
15
+ /**
16
+ * Serialize an array into a format that can be deserialized in Flash. Supported data types are object,
17
+ * array, string, number, date, boolean, null, and undefined. Returns a string of serialized data.
18
+ */
19
+ FlashSerializer.prototype.serialize = function(args)
20
+ {
21
+ var qs = new String();
22
+
23
+ for (var i = 0; i < args.length; ++i)
24
+ {
25
+ switch(typeof(args[i]))
26
+ {
27
+ case 'undefined':
28
+ qs += 't'+(i)+'=undf';
29
+ break;
30
+ case 'string':
31
+ qs += 't'+(i)+'=str&d'+(i)+'='+escape(args[i]);
32
+ break;
33
+ case 'number':
34
+ qs += 't'+(i)+'=num&d'+(i)+'='+escape(args[i]);
35
+ break;
36
+ case 'boolean':
37
+ qs += 't'+(i)+'=bool&d'+(i)+'='+escape(args[i]);
38
+ break;
39
+ case 'object':
40
+ if (args[i] == null)
41
+ {
42
+ qs += 't'+(i)+'=null';
43
+ }
44
+ else if (args[i] instanceof Date)
45
+ {
46
+ qs += 't'+(i)+'=date&d'+(i)+'='+escape(args[i].getTime());
47
+ }
48
+ else // array or object
49
+ {
50
+ try
51
+ {
52
+ qs += 't'+(i)+'=xser&d'+(i)+'='+escape(this._serializeXML(args[i]));
53
+ }
54
+ catch (exception)
55
+ {
56
+ throw new Exception("FlashSerializationException",
57
+ "The following error occurred during complex object serialization: " + exception.getMessage());
58
+ }
59
+ }
60
+ break;
61
+ default:
62
+ throw new Exception("FlashSerializationException",
63
+ "You can only serialize strings, numbers, booleans, dates, objects, arrays, nulls, and undefined.");
64
+ }
65
+
66
+ if (i != (args.length - 1))
67
+ {
68
+ qs += '&';
69
+ }
70
+ }
71
+
72
+ return qs;
73
+ }
74
+
75
+ /**
76
+ * Private
77
+ */
78
+ FlashSerializer.prototype._serializeXML = function(obj)
79
+ {
80
+ var doc = new Object();
81
+ doc.xml = '<fp>';
82
+ this._serializeNode(obj, doc, null);
83
+ doc.xml += '</fp>';
84
+ return doc.xml;
85
+ }
86
+
87
+ /**
88
+ * Private
89
+ */
90
+ FlashSerializer.prototype._serializeNode = function(obj, doc, name)
91
+ {
92
+ switch(typeof(obj))
93
+ {
94
+ case 'undefined':
95
+ doc.xml += '<undf'+this._addName(name)+'/>';
96
+ break;
97
+ case 'string':
98
+ doc.xml += '<str'+this._addName(name)+'>'+this._escapeXml(obj)+'</str>';
99
+ break;
100
+ case 'number':
101
+ doc.xml += '<num'+this._addName(name)+'>'+obj+'</num>';
102
+ break;
103
+ case 'boolean':
104
+ doc.xml += '<bool'+this._addName(name)+' val="'+obj+'"/>';
105
+ break;
106
+ case 'object':
107
+ if (obj == null)
108
+ {
109
+ doc.xml += '<null'+this._addName(name)+'/>';
110
+ }
111
+ else if (obj instanceof Date)
112
+ {
113
+ doc.xml += '<date'+this._addName(name)+'>'+obj.getTime()+'</date>';
114
+ }
115
+ else if (obj instanceof Array)
116
+ {
117
+ doc.xml += '<array'+this._addName(name)+'>';
118
+ for (var i = 0; i < obj.length; ++i)
119
+ {
120
+ this._serializeNode(obj[i], doc, null);
121
+ }
122
+ doc.xml += '</array>';
123
+ }
124
+ else
125
+ {
126
+ doc.xml += '<obj'+this._addName(name)+'>';
127
+ for (var n in obj)
128
+ {
129
+ if (typeof(obj[n]) == 'function')
130
+ continue;
131
+ this._serializeNode(obj[n], doc, n);
132
+ }
133
+ doc.xml += '</obj>';
134
+ }
135
+ break;
136
+ default:
137
+ throw new Exception("FlashSerializationException",
138
+ "You can only serialize strings, numbers, booleans, objects, dates, arrays, nulls and undefined");
139
+ break;
140
+ }
141
+ }
142
+
143
+ /**
144
+ * Private
145
+ */
146
+ FlashSerializer.prototype._addName= function(name)
147
+ {
148
+ if (name != null)
149
+ {
150
+ return ' name="'+name+'"';
151
+ }
152
+ return '';
153
+ }
154
+
155
+ /**
156
+ * Private
157
+ */
158
+ FlashSerializer.prototype._escapeXml = function(str)
159
+ {
160
+ if (this.useCdata)
161
+ return '<![CDATA['+str+']]>';
162
+ else
163
+ return str.replace(/&/g,'&amp;').replace(/</g,'&lt;');
164
+ }
165
+