<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -22,7 +22,7 @@ module OFC2
     # You can set variable in two ways:
     # 1. variable_name = value
     # 1. set_variable_name(value)
-    # you can get only  alredy setted variables, otherwise warnig is logged and return nil
+    # you can get only  alredy setted variables, otherwise return nil
     def method_missing(method_id, *arguments)
       a = arguments[0] if arguments and arguments.size &gt; 0
       method = method_id.to_s
@@ -33,13 +33,6 @@ module OFC2
       elsif self.instance_variable_defined?(&quot;@#{method_id.to_s.gsub('_','__')}&quot;)
         self.instance_variable_get(&quot;@#{method_id.to_s.gsub('_','__')}&quot;) # that will be return instance variable value or nil, handy
       else
-        warning = &lt;&lt;-EOF
-          !!! there is no instance variable named #{method_id} !!!
-          - if You want to set instance variable use variable= or set_variable(var) methods
-          - if You want to get variable call object for variable: obj.variable
-          - You can call only for variables You set before
-        EOF
-        warn(warning)
         nil
       end
     end
@@ -180,6 +173,7 @@ module OFC2
     :y_axis =&gt; { },
     :y_axis_right =&gt; { },
     :y_legend =&gt; { :available_variables =&gt; { :text =&gt; &quot;y legend&quot;, :style =&gt;&quot;{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}&quot; } },
+    :y2_legend =&gt; { :available_variables =&gt; { :text =&gt; &quot;y2 legend&quot;, :style =&gt;&quot;{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}&quot; } },
     :x_axis_label =&gt; { },
     :x_axis_labels =&gt; { },
     :x_axis =&gt; { },
@@ -256,7 +250,7 @@ module OFC2
 
     # it must be done in that way because method_missing method replace _ to __,
     # maybe I add seccond parameter to handle with that
-    %w(radar_axis x_axis y_axis y_axis_right x_legend y_legend bg_colour).each do |method|
+    %w(radar_axis x_axis y_axis y_axis_right x_legend y_legend y2_legend bg_colour).each do |method|
       define_method(&quot;set_#{method}&quot;) do |a|
         self.instance_variable_set(&quot;@#{method}&quot;, a)
       end</diff>
      <filename>lib/open_flash_chart_2.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 /* SWFObject v2.1 &lt;http://code.google.com/p/swfobject/&gt;
-	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
-	This software is released under the MIT License &lt;http://www.opensource.org/licenses/mit-license.php&gt;
+  Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+  This software is released under the MIT License &lt;http://www.opensource.org/licenses/mit-license.php&gt;
 */
 var swfobject=function(){var b=&quot;undefined&quot;,Q=&quot;object&quot;,n=&quot;Shockwave Flash&quot;,p=&quot;ShockwaveFlash.ShockwaveFlash&quot;,P=&quot;application/x-shockwave-flash&quot;,m=&quot;SWFObjectExprInst&quot;,j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&amp;&amp;typeof K.getElementsByTagName!=b&amp;&amp;typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&amp;&amp;typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&amp;&amp;!(typeof T.mimeTypes!=b&amp;&amp;T.mimeTypes[P]&amp;&amp;!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,&quot;$1&quot;);AC[0]=parseInt(x.replace(/^(.*)\..*$/,&quot;$1&quot;),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,&quot;$1&quot;),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,&quot;$1&quot;),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+&quot;.7&quot;)}catch(t){try{y=new ActiveXObject(p+&quot;.6&quot;);AC=[6,0,21];y.AllowScriptAccess=&quot;always&quot;}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&amp;&amp;y){try{x=y.GetVariable(&quot;$version&quot;);if(x){x=x.split(&quot; &quot;)[1].split(&quot;,&quot;);AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,&quot;$1&quot;)):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&amp;&amp;h.win){try{K.write(&quot;&lt;script id=__ie_ondomload defer=true src=//:&gt;&lt;\/script&gt;&quot;);J=C(&quot;__ie_ondomload&quot;);if(J){I(J,&quot;onreadystatechange&quot;,S)}}catch(q){}}if(h.webkit&amp;&amp;typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener(&quot;DOMContentLoaded&quot;,E,null)}R(E)}();function S(){if(J.readyState==&quot;complete&quot;){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&amp;&amp;h.win){var v=a(&quot;span&quot;);try{var u=K.getElementsByTagName(&quot;body&quot;)[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r&lt;q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener(&quot;load&quot;,r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener(&quot;load&quot;,r,false)}else{if(typeof j.attachEvent!=b){I(j,&quot;onload&quot;,r)}else{if(typeof j.onload==&quot;function&quot;){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q&lt;t;q++){var u=N[q].id;if(h.pv[0]&gt;0){var r=C(u);if(r){N[q].width=r.getAttribute(&quot;width&quot;)?r.getAttribute(&quot;width&quot;):&quot;0&quot;;N[q].height=r.getAttribute(&quot;height&quot;)?r.getAttribute(&quot;height&quot;):&quot;0&quot;;if(c(N[q].swfVersion)){if(h.webkit&amp;&amp;h.webkit&lt;312){Y(r)}W(u,true)}else{if(N[q].expressInstall&amp;&amp;!A&amp;&amp;c(&quot;6.0.65&quot;)&amp;&amp;(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a(&quot;embed&quot;),y=q.attributes;if(y){var v=y.length;for(var u=0;u&lt;v;u++){if(y[u].nodeName==&quot;DATA&quot;){w.setAttribute(&quot;src&quot;,y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r&lt;z;r++){if(x[r].nodeType==1&amp;&amp;x[r].nodeName==&quot;PARAM&quot;){w.setAttribute(x[r].getAttribute(&quot;name&quot;),x[r].getAttribute(&quot;value&quot;))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&amp;&amp;parseInt(w.width,10)&lt;310){w.width=&quot;310&quot;}if(!(/%$/.test(w.height))&amp;&amp;parseInt(w.height,10)&lt;137){w.height=&quot;137&quot;}K.title=K.title.slice(0,47)+&quot; - Flash Player Installation&quot;;var z=h.ie&amp;&amp;h.win?&quot;ActiveX&quot;:&quot;PlugIn&quot;,q=K.title,r=&quot;MMredirectURL=&quot;+j.location+&quot;&amp;MMplayerType=&quot;+z+&quot;&amp;MMdoctitle=&quot;+q,x=w.id;if(h.ie&amp;&amp;h.win&amp;&amp;u.readyState!=4){var t=a(&quot;div&quot;);x+=&quot;SWFObjectNew&quot;;t.setAttribute(&quot;id&quot;,x);u.parentNode.insertBefore(t,u);u.style.display=&quot;none&quot;;var v=function(){u.parentNode.removeChild(u)};I(j,&quot;onload&quot;,v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&amp;&amp;h.win&amp;&amp;t.readyState!=4){var r=a(&quot;div&quot;);t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display=&quot;none&quot;;var q=function(){t.parentNode.removeChild(t)};I(j,&quot;onload&quot;,q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a(&quot;div&quot;);if(h.win&amp;&amp;h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t&lt;q;t++){if(!(w[t].nodeType==1&amp;&amp;w[t].nodeName==&quot;PARAM&quot;)&amp;&amp;!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&amp;&amp;h.win){var AF=&quot;&quot;;for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()==&quot;data&quot;){AE.movie=AG[AB]}else{if(AB.toLowerCase()==&quot;styleclass&quot;){AF+=' class=&quot;'+AG[AB]+'&quot;'}else{if(AB.toLowerCase()!=&quot;classid&quot;){AF+=&quot; &quot;+AB+'=&quot;'+AG[AB]+'&quot;'}}}}}var AD=&quot;&quot;;for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='&lt;param name=&quot;'+AA+'&quot; value=&quot;'+AE[AA]+'&quot; /&gt;'}}v.outerHTML='&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;'+AF+&quot;&gt;&quot;+AD+&quot;&lt;/object&gt;&quot;;i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&amp;&amp;h.webkit&lt;312){var AC=a(&quot;embed&quot;);AC.setAttribute(&quot;type&quot;,P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()==&quot;data&quot;){AC.setAttribute(&quot;src&quot;,AG[z])}else{if(z.toLowerCase()==&quot;styleclass&quot;){AC.setAttribute(&quot;class&quot;,AG[z])}else{if(z.toLowerCase()!=&quot;classid&quot;){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!=&quot;movie&quot;){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute(&quot;type&quot;,P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()==&quot;styleclass&quot;){u.setAttribute(&quot;class&quot;,AG[x])}else{if(x.toLowerCase()!=&quot;classid&quot;){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&amp;&amp;w.toLowerCase()!=&quot;movie&quot;){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a(&quot;param&quot;);u.setAttribute(&quot;name&quot;,q);u.setAttribute(&quot;value&quot;,r);t.appendChild(u)}function X(r){var q=C(r);if(q&amp;&amp;(q.nodeName==&quot;OBJECT&quot;||q.nodeName==&quot;EMBED&quot;)){if(h.ie&amp;&amp;h.win){if(q.readyState==4){B(r)}else{j.attachEvent(&quot;onload&quot;,function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]==&quot;function&quot;){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(&quot;.&quot;);q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]&gt;q[0]||(r[0]==q[0]&amp;&amp;r[1]&gt;q[1])||(r[0]==q[0]&amp;&amp;r[1]==q[1]&amp;&amp;r[2]&gt;=q[2]))?true:false}function V(v,r){if(h.ie&amp;&amp;h.mac){return }var u=K.getElementsByTagName(&quot;head&quot;)[0],t=a(&quot;style&quot;);t.setAttribute(&quot;type&quot;,&quot;text/css&quot;);t.setAttribute(&quot;media&quot;,&quot;screen&quot;);if(!(h.ie&amp;&amp;h.win)&amp;&amp;typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+&quot; {&quot;+r+&quot;}&quot;))}u.appendChild(t);if(h.ie&amp;&amp;h.win&amp;&amp;typeof K.styleSheets!=b&amp;&amp;K.styleSheets.length&gt;0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?&quot;visible&quot;:&quot;hidden&quot;;if(e&amp;&amp;C(t)){C(t).style.visibility=r}else{V(&quot;#&quot;+t,&quot;visibility:&quot;+r)}}function g(s){var r=/[\\\&quot;&lt;&gt;\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&amp;&amp;h.win){window.attachEvent(&quot;onunload&quot;,function(){var w=d.length;for(var v=0;v&lt;w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u&lt;t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&amp;&amp;typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+=&quot;&quot;;AD+=&quot;&quot;;if(c(q)){W(AE,false);var AA={};if(AC&amp;&amp;typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&amp;&amp;typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&amp;&amp;typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+=&quot;&amp;&quot;+t+&quot;=&quot;+r[t]}else{y.flashvars=t+&quot;=&quot;+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&amp;&amp;!A&amp;&amp;c(&quot;6.0.65&quot;)&amp;&amp;(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split(&quot;&amp;&quot;);for(var r=0;r&lt;t.length;r++){if(t[r].substring(0,t[r].indexOf(&quot;=&quot;))==v){return g(t[r].substring((t[r].indexOf(&quot;=&quot;)+1)))}}}return&quot;&quot;},expressInstallCallback:function(){if(A&amp;&amp;M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&amp;&amp;h.win){M.style.display=&quot;block&quot;}}M=null;l=null;A=false}}}}}();
\ No newline at end of file</diff>
      <filename>requirements/swfobject.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>025f1ec537b44088300c7c7b208ef4ac831d4cfd</id>
    </parent>
  </parents>
  <author>
    <name>Rafa&#322;</name>
    <email>lisukorin@gmail.com</email>
  </author>
  <url>http://github.com/korin/open_flash_chart_2_plugin/commit/7756f9790dcdb780fd6edb10e0fa5be9c2e79f6b</url>
  <id>7756f9790dcdb780fd6edb10e0fa5be9c2e79f6b</id>
  <committed-date>2009-05-07T14:28:55-07:00</committed-date>
  <authored-date>2009-05-07T14:28:55-07:00</authored-date>
  <message>add y legend right, using: chart.y2_legend=OFC2::YLegend.new( :text =&gt;&quot;Y right description&quot;)</message>
  <tree>3906947b6bdc91d861f0a402ba78d29fe0a4307f</tree>
  <committer>
    <name>Rafa&#322;</name>
    <email>lisukorin@gmail.com</email>
  </committer>
</commit>
