right-rails 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +9 -0
- data/javascripts/right-calendar-src.js +1 -1
- data/javascripts/right-calendar.js +1 -1
- data/javascripts/right-events-src.js +25 -26
- data/javascripts/right-events.js +1 -1
- data/javascripts/right-in-edit-src.js +195 -0
- data/javascripts/right-in-edit.js +6 -0
- data/javascripts/right-json-src.js +59 -93
- data/javascripts/right-json.js +1 -1
- data/javascripts/right-olds-src.js +7 -7
- data/javascripts/right-olds.js +1 -1
- data/javascripts/right-selectable-src.js +39 -3
- data/javascripts/right-selectable.js +1 -1
- data/javascripts/right-src.js +107 -103
- data/javascripts/right-tabs-src.js +27 -16
- data/javascripts/right-tabs.js +1 -1
- data/javascripts/right-ui-i18n-de.js +7 -0
- data/javascripts/right-ui-i18n-es.js +7 -0
- data/javascripts/right-ui-i18n-fr.js +7 -0
- data/javascripts/right-ui-i18n-hu.js +7 -0
- data/javascripts/right-ui-i18n-jp.js +7 -0
- data/javascripts/right-ui-i18n-nl.js +36 -0
- data/javascripts/right-ui-i18n-ru.js +7 -0
- data/javascripts/{right-ui-i18n-uk.js → right-ui-i18n-ua.js} +7 -0
- data/javascripts/right.js +1 -1
- metadata +8 -4
data/CHANGELOG
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
2010-01-16 Nikolay V. Nemshilov aka St.
|
2
|
+
o Version 0.4.4
|
3
|
+
* RightJS v 1.5.3
|
4
|
+
* Updated Tabs and Selectable
|
5
|
+
* Updated JSON and Events
|
6
|
+
* New in-place edit plugin
|
7
|
+
* Dutch i18n module
|
8
|
+
|
9
|
+
|
1
10
|
2009-12-26 Nikolay V. Nemshilov aka St.
|
2
11
|
o Version 0.4.3
|
3
12
|
* RightJS v. 1.5.2 (fx engine updates)
|
@@ -853,4 +853,4 @@ Calendar.include({
|
|
853
853
|
document.onReady(function() { Calendar.rescan(); });
|
854
854
|
|
855
855
|
|
856
|
-
document.write("<style type=\"text/css\">div.right-calendar,div.right-calendar table,div.right-calendar table tr,div.right-calendar table th,div.right-calendar table td,div.right-calendar table tbody,div.right-calendar table thead{background:none;border:none;width:auto;height:auto;margin:0;padding:0}*.right-ui-button{display:inline-block;*display:inline;*zoom:1;height:1em;line-height:1em;padding:.2em .5em;text-align:center;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;cursor:pointer;color:#555;background-color:#FFF}*.right-ui-button:hover{color:#222;border-color:#999;background-color:#CCC}*.right-ui-button-disabled,*.right-ui-button-disabled:hover{color:#888;background:#EEE;border-color:#CCC;cursor:default}*.right-ui-buttons{margin-top:.5em}div.right-calendar{position:absolute;height:auto;border:1px solid #BBB;position:relative;padding:.5em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;cursor:default;background-color:#EEE;-moz-box-shadow:.2em .4em .8em #666;-webkit-box-shadow:.2em .4em .8em #666}div.right-calendar-inline{position:relative;display:inline-block;vertical-align:top;*display:inline;*zoom:1;-moz-box-shadow:none;-webkit-box-shadow:none}div.right-calendar-prev-button,div.right-calendar-next-button,div.right-calendar-prev-year-button,div.right-calendar-next-year-button{position:absolute;float:left;width:1em;padding:.15em .4em}div.right-calendar-next-button{right:.5em}div.right-calendar-prev-year-button{left:2.55em}div.right-calendar-next-year-button{right:2.55em}div.right-calendar-month-caption{text-align:center;height:1.2em;line-height:1.2em}table.right-calendar-greed{border-spacing:0px}table.right-calendar-greed td{vertical-align:top;padding-right:.4em}table.right-calendar-greed
|
856
|
+
document.write("<style type=\"text/css\">div.right-calendar,div.right-calendar table,div.right-calendar table tr,div.right-calendar table th,div.right-calendar table td,div.right-calendar table tbody,div.right-calendar table thead{background:none;border:none;width:auto;height:auto;margin:0;padding:0}*.right-ui-button{display:inline-block;*display:inline;*zoom:1;height:1em;line-height:1em;padding:.2em .5em;text-align:center;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;cursor:pointer;color:#555;background-color:#FFF}*.right-ui-button:hover{color:#222;border-color:#999;background-color:#CCC}*.right-ui-button-disabled,*.right-ui-button-disabled:hover{color:#888;background:#EEE;border-color:#CCC;cursor:default}*.right-ui-buttons{margin-top:.5em}div.right-calendar{position:absolute;height:auto;border:1px solid #BBB;position:relative;padding:.5em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;cursor:default;background-color:#EEE;-moz-box-shadow:.2em .4em .8em #666;-webkit-box-shadow:.2em .4em .8em #666}div.right-calendar-inline{position:relative;display:inline-block;vertical-align:top;*display:inline;*zoom:1;-moz-box-shadow:none;-webkit-box-shadow:none}div.right-calendar-prev-button,div.right-calendar-next-button,div.right-calendar-prev-year-button,div.right-calendar-next-year-button{position:absolute;float:left;width:1em;padding:.15em .4em}div.right-calendar-next-button{right:.5em}div.right-calendar-prev-year-button{left:2.55em}div.right-calendar-next-year-button{right:2.55em}div.right-calendar-month-caption{text-align:center;height:1.2em;line-height:1.2em}table.right-calendar-greed{border-spacing:0px}table.right-calendar-greed td{vertical-align:top;padding-right:.4em}table.right-calendar-greed>tbody>td:last-child{padding:0}div.right-calendar-month table{margin-top:.2em;border-spacing:1px;border-collapse:separate}div.right-calendar-month table th{color:#777;text-align:center}div.right-calendar-month table td{text-align:right;padding:.1em .3em;background-color:#FFF;border:1px solid #CCC;cursor:pointer;color:#555;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em}div.right-calendar-month table td:hover{background-color:#CCC;border-color:#AAA;color:#000}div.right-calendar-month table td.right-calendar-day-blank{background:transparent;cursor:default;border:none}div.right-calendar-month table td.right-calendar-day-selected{background-color:#BBB;border-color:#AAA;color:#222;font-weight:bold;padding:.1em .2em}div.right-calendar-month table td.right-calendar-day-disabled{color:#888;background:#EEE;border-color:#CCC;cursor:default}div.right-calendar-time{border-top:1px solid #ccc;margin-top:.3em;padding-top:.5em;text-align:center}div.right-calendar-time select{margin:0 .4em}div.right-calendar-buttons div.right-ui-button{width:3.2em}div.right-calendar-done-button{position:absolute;right:.5em}</style>");
|
@@ -6,4 +6,4 @@
|
|
6
6
|
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
7
7
|
*/
|
8
8
|
if (!RightJS) { throw "Gimme RightJS. Please." };
|
9
|
-
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("19 35=68 Class(Observer,{extend:{EVENTS:$w('show 102 41 103'),162:{67:'ISO',100:73,167:false,min48:73,max48:73,153:1,176:'fade',128:200,53:1,36:1,179:'*',rel186:'14',43:73,141:false},Formats:{ISO:'%Y-%m-%d',POSIX:'%Y/%m/%d',EUR:'%d-%m-%Y',US:'%m/%d/%Y'},57:{Done:'Done',Now:'Now',Next:'Next 169',184:'184ious 169',Next181:'Next 181',184181:'184 181',90:$w('Sun115 Mon115 Tues115 Wednes115 Thurs115 Fri115 Satur115'),90183:$w('Sun Mon Tue Wed Thu Fri Sat'),90Min:$w('Su Mo Tu We Th Fr Sa'),59182:$w('January February March April May June July August September October November December'),59182183:$w('Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec')},rescan:17(s){19 k=35.162.rel186;19 a=68 178(k+'\\\\[(.+?)\\\\]');($(s)||87).41(35.162.179+'[rel*='+k+']').125(17(e){19 d=e.get('data-'+k+'-25');19 c=68 35(eval('('+d+')')||{});19 r=e.get('rel').161(a);if(r){19 i=$(r[1]);if(i)c.151(i,e)}92 c.151(e)})}},initialize:17(o){11.$super(o);11.30=$E('28',{'70':'16-14'});11.build().144().set48(68 48())},set162:17(u){11.$super(u);19 a=11.constructor;19 o=11.25;with(11.25){o.57={};146(19 k in a.57)57[k]=isArray(a.57[k])?a.57[k].clone():a.57[k];$ext(57,(u||{}).57);o.90=57.90Min;if(153)90.push(90.110());if(!isArray(53))53=[53,1];if(min48)min48=11.119(min48);if(max48){max48=11.119(max48);max48.set48(max48.get48()+1)}67=(a.Formats[67]||67).trim();if(100===73)100=67.search(/%[HkIl]/)>-1;if(43===73)43=67.search(/%[Il]/)<0;if(36>60&&12 %(36/60).136())43=true}21 11},set48:17(d){11.44=11.15648=11.119(d);21 11.up44()},get48:17(){21 11.44},102:17(){11.30.102(11.25.176,{duration:11.25.128});35.97=73;21 11},show:17(p){11.30.show(11.25.176,{duration:11.25.128});35.97=11;21 11},31:17(e,p){11.30.91('16-14-82').31(e,p);21 11}});35.131({up44:17(d){19 d=68 48(d||11.44),o=11.25;19 a=11.30.41('28.16-14-59');19 b=a.length;146(19 i=-(b-b/2).136()+1;i<(b-b/2).floor()+1;i++){19 m=68 48(d);m.76(d.62()+i);11.up44169(a.110(),m)}11.up44Next184169185s(d,b);if(o.100){11.96.72=o.36<60?d.152():(d.152()/(o.36/60)).round()*(o.36/60);11.113.72=(d.172()/(o.36 % 60)).round()*o.36}21 11},up44169:17(g,d){d.set48(32);19 f=32-d.get48();d.76(d.62()-1);19 b=(11.44.getTime()/86400000).136();19 r=g.41('79 tr');19 a=r.110().41('td');g.41('79 td').125(17(t){t.139='';t.70186='16-14-115-blank'});19 o=11.25;146(19 i=1;i<=f;i++){d.set48(i);19 e=d.get187();if(11.25.153)e=e?e-1:6;a[e].139=''+i;a[e].70186=b==(d.getTime()/86400000).136()?'16-14-115-41ed':'';if((o.min48&&o.min48>d)||(o.max48&&o.max48<d))a[e].70186='16-14-115-61';a[e].44=68 48(d);if(e==6)a=r.110().41('td')}19 c=(o.141?o.57.59182183[d.62()]+',':o.57.59182[d.62()])+' '+d.78();g.first('28.16-14-59-157').up44(c)},up44Next184169185s:17(a,f){19 o=11.25;if(o.min48){19 b=68 48(a.78(),0,1,0,0,0);19 c=68 48(o.min48.78(),0,1,0,0,0);11.124=b>c;b.76(a.62()-(f-f/2).136());c.76(o.min48.62());11.118=b>=c}92 11.118=11.124=true;if(o.max48){19 e=68 48(a);19 m=68 48(o.max48);[e,m].125(17(d){d.set48(32);d.76(d.62()-1);d.set48(32-d.get48());d.setHours(0);d.173(0);d.setSeconds(0);d.setMilliseconds(0)});11.117=e<m;[e,m].125('76',0);11.121=e<m}92 11.117=11.121=true;11.105[11.117?'80':'91']('16-ui-26-61');11.104[11.118?'80':'91']('16-ui-26-61');if(11.69){11.69[11.121?'80':'91']('16-ui-26-61');11.98[11.124?'80':'91']('16-ui-26-61')}},build:17(){11.175();19 g=79=$E('42',{'70':'16-14-159'}).31(11.30);19 o=11.25;if(Browser.OLD)79=$E('79').31(g);146(19 y=0;y<o.53[1];y++){19 r=$E('tr').31(79);146(19 x=0;x<o.53[0];x++)$E('td').31(r).93(11.build169())}if(o.100)11.buildTime();11.154();21 11},175:17(){19 i=11.25.57;11.104=$E('28',{'70':'16-ui-26 16-14-156-26',84:'‹',160:i.184}).31(11.30);11.105=$E('28',{'70':'16-ui-26 16-14-135-26',84:'›',160:i.Next}).31(11.30);if(11.25.141){11.98=$E('28',{'70':'16-ui-26 16-14-156-137-26',84:'«',160:i.184181}).31(11.104,'after');11.69=$E('28',{'70':'16-ui-26 16-14-135-137-26',84:'»',160:i.Next181}).31(11.105,'be146e')}},build169:17(){21 $E('28',{'70':'16-14-59'}).93('<28 70=\"16-14-59-157\"></28>'+'<42><thead><tr>'+11.25.90.map(17(n){21 '<th>'+n+'</th>'}).join('')+'</tr></thead><79>'+'123456'.split('').map(17(){21 '<tr><td><td><td><td><td><td><td></tr>'}).join('')+'</79></42>')},buildTime:17(){19 o=11.25;19 t=$E('28',{'70':'16-14-time',84:':'}).31(11.30);11.96=$E('41').31(t,'112');11.113=$E('41').31(t);19 m=o.36<60?o.36:60;19 h=o.36<60?1:(o.36/60).136();(60).times(17(a){19 c=(a<10?'0':'')+a;if(a<24&&a % h==0){if(o.43)11.96.93($E('148',{72:a,84:c}));92 if(a<12)11.96.93($E('148',{72:a,84:a==0?12:a}))}if(a % m==0)11.113.93($E('148',{72:a,84:c}))},11);if(!o.43){11.120=$E('41').31(t);(o.67.131s(/%P/)?['am','pm']:['AM','PM']).125(17(v){11.120.93($E('148',{72:v.95(),84:v}))},11)}},154:17(){if(!11.25.167)21;11.114=$E('28',{'70':'16-ui-26 16-14-now-26',84:11.25.57.Now});11.103185=$E('28',{'70':'16-ui-26 16-14-103-26',84:11.25.57.Done});$E('28',{'70':'16-ui-26s 16-14-26s'}).93([11.103185,11.114]).31(11.30)}});87.onKeydown(17(e){if(35.97){19 n;switch(e.keyCode){52 27:n='102';58;52 37:n='156187';58;52 39:n='135187';58;52 38:n='156Week';58;52 40:n='135Week';58;52 34:n='133';58;52 33:n='134';58;52 13:35.97.41(35.97.44);n='103';58}if(n){35.97[n]();e.s112()}}});35.131({41:17(d){11.44=d;21 11.fire('41',d)},103:17(){if(!11.30.150('16-14-82'))11.102();21 11.fire('103',11.44)},135187:17(){21 11.17748({'48':1})},156187:17(){21 11.17748({'48':-1})},135Week:17(){21 11.17748({'48':7})},156Week:17(){21 11.17748({'48':-7})},133:17(){21 11.17748({169:1})},134:17(){21 11.17748({169:-1})},135181:17(){21 11.17748({Full181:1})},156181:17(){21 11.17748({Full181:-1})},17748:17(h){19 d=68 48(11.44),o=11.25;146(19 k in h)d['set'+k](d['get'+k]()+h[k]);if(o.min48&&o.min48>d)d=68 48(o.min48);if(o.max48&&o.max48<d){d=68 48(o.max48);d.set48(d.get48()-1)}21 11.up44(11.44=d)},144:17(){11.104.63(11.134.65(11));11.105.63(11.133.65(11));if(11.69){11.98.63(11.156181.65(11));11.69.63(11.135181.65(11))}11.30.41('28.16-14-59 42 79 td').125(17(c){c.63(17(){if(c.139!=''&&!c.150('16-14-115-61')){19 p=11.30.first('.16-14-115-41ed');if(p)p.80('16-14-115-41ed');c.91('16-14-115-41ed');11.116(c.44)}}.65(11))},11);if(11.96){11.96.on('177',11.116.65(11));11.113.on('177',11.116.65(11));if(!11.25.43)11.120.on('177',11.116.65(11))}if(11.114){11.114.63(11.set48.65(11,68 48()));11.103185.63(11.103.65(11))}11.30.63(17(a){a.s112()});21 11},116:17(d){if(d 174 48){11.44.set181(d.78());11.44.76(d.62());11.44.set48(d.get48())}if(11.96){11.44.setHours(11.96.72.toInt()+(!11.25.43&&11.120.72=='pm'?12:0));11.44.173(11.113.72)}21 11.41(11.44)}});35.131({151:17(i,t){19 i=$(i),t=$(t);if(t)t.63(17(a){a.s112();11.127(i.focus())}.65(11));92 i.on({focus:11.127.65(11,i),click:17(a){a.s112();if(11.30.hidden())11.127(i)}.65(11),keyDown:17(a){if(a.keyCode==9&&11.30.visible())11.102()}.65(11)});87.63(11.102.65(11));21 11},127:17(e){19 e=$(e),d=e.dimensions();11.set48(11.119(e.72));11.30.setStyle({85:'122',109:'0',left:(d.left)+'px',112:(d.112+d.94)+'px'}).31(87.body);11.s112Observing('41').s112Observing('103');11.on(11.103185?'103':'41',17(){e.72=11.67()}.65(11));21 11.102Others().show()},toggleAt:17(i){if(11.30.parentNode&&11.30.visible())11.102();92 11.127(i);21 11},102Others:17(){$$('28.16-14').125(17(e){if(!e.150('16-14-82')){if(e!=11.30)e.102()}});21 11}});35.131({119:17(g){19 d;if(g 174 48||48.119(g))d=68 48(g);92 if(isString(g)&&g){19 t=178.escape(11.25.67);19 h=t.161(/%[a-z]/ig).map('161',/[a-z]$/i).map('first').without('%');19 r=68 178('^'+t.166(/%p/i,'(pm|PM|am|AM)').166(/(%[a-z])/ig,'(.+?)')+'$');19 m=g.trim().161(r);if(m){m.110();19 y=73,f=73,d=73,b=73,e=73,s=73,c;while(m.length){19 v=m.110();19 k=h.110();if(k.95()=='b')f=11.25.57[k=='b'?'59182183':'59182'].indexOf(v);92 if(k.95()=='p')c=v.95();92{v=v.toInt();switch(k){52 'd':52 'e':d=v;58;52 'm':f=v-1;58;52 'y':52 'Y':y=v;58;52 'H':52 'k':52 'I':52 'l':b=v;58;52 'M':e=v;58;52 'S':s=v;58}}}if(c){b=b==12?0:b;b=(c=='pm'?b+12:b)}d=68 48(y,f,d,b,e,s)}}92 d=68 48();21 d},67:17(g){19 j=11.25.57;19 f=11.44.get187();19 q=11.44.62();19 c=11.44.get48();19 t=11.44.78();19 h=11.44.152();19 o=11.44.172();19 s=11.44.getSeconds();19 i=(h==0?12:h<13?h:h-12);19 v={a:j.90183[f],A:j.90[f],b:j.59182183[q],B:j.59182[q],d:(c<10?'0':'')+c,e:''+c,m:(q<9?'0':'')+(q+1),y:(''+t).substring(2,4),Y:''+t,H:(h<10?'0':'')+h,k:''+h,I:(h>0&&(h<10||(h>12&&h<22))?'0':'')+i,l:''+i,p:h<12?'AM':'PM',P:h<12?'am':'pm',M:(o<10?'0':'')+o,S:(s<10?'0':'')+s,'%':'%'};19 r=g||11.25.67;146(19 n in v)r=r.166('%'+n,v[n]);21 r}});87.onReady(17(){35.rescan()});87.write(\"<style type=\\\"138/css\\\">28.16-14,28.16-14 42,28.16-14 42 tr,28.16-14 42 th,28.16-14 42 td,28.16-14 42 79,28.16-14 42 thead{47:155;29:155;width:auto;94:auto;109:0;71:0}*.16-ui-26{132:82-block;*132:82;*zoom:1;94:1em;line-94:1em;71:.83 .163;138-108:143;29:1px 165 #168;29-75:.83;-moz-29-75:.83;-126-29-75:.83;111:pointer;46:#555;47-46:#FFF}*.16-ui-26:hover{46:#222;29-46:#999;47-46:#168}*.16-ui-26-61,*.16-ui-26-61:hover{46:#888;47:#EEE;29-46:#168;111:129}*.16-ui-26s{109-112:.163}28.16-14{85:122;94:auto;29:1px 165 #BBB;85:relative;71:.163;29-75:.3em;-moz-29-75:.3em;-126-29-75:.3em;111:129;47-46:#EEE;-moz-box-149:.83 .4em .8em #666;-126-box-149:.83 .4em .8em #666}28.16-14-82{85:relative;132:82-block;vertical-108:112;*132:82;*zoom:1;-moz-box-149:155;-126-box-149:155}28.16-14-156-26,28.16-14-135-26,28.16-14-156-137-26,28.16-14-135-137-26{85:122;float:left;width:1em;71:.1163 .4em}28.16-14-135-26{16:.163}28.16-14-156-137-26{left:2.5163}28.16-14-135-137-26{16:2.5163}28.16-14-59-157{138-108:143;94:1.83;line-94:1.83}42.16-14-159{29-spacing:0px}42.16-14-159 td{vertical-108:112;71-16:.4em}42.16-14-159 td:last-child{71:0}28.16-14-59 42{109-112:.83;29-spacing:1px;29-collapse:separate}28.16-14-59 42 th{46:#777;138-108:143}28.16-14-59 42 td,28.16-14-59 42 td:last-child{138-108:16;71:.1em .3em;47-46:#FFF;29:1px 165 #168;111:pointer;46:#555;29-75:.83;-moz-29-75:.83;-126-29-75:.83}28.16-14-59 42 td:hover{47-46:#168;29-46:#AAA;46:#000}28.16-14-59 42 td.16-14-115-blank{47:transparent;111:129;29:155}28.16-14-59 42 td.16-14-115-41ed{47-46:#BBB;29-46:#AAA;46:#222;font-weight:bold;71:.1em .83}28.16-14-59 42 td.16-14-115-61{46:#888;47:#EEE;29-46:#168;111:129}28.16-14-time{29-112:1px 165 #ccc;109-112:.3em;71-112:.163;138-108:143}28.16-14-time 41{109:0 .4em}28.16-14-26s 28.16-ui-26{width:3.83}28.16-14-103-26{85:122;16:.163}</style>\");",",,,,,,,,,,,this,,,calendar,,right,function,,var,,return,,,,options,button,,div,border,element,insertTo,,,,Calendar,timePeriod,,,,,select,table,twentyFourHour,date,,color,background,Date,maxDate,changeDate,minDate,case,numberOfMonths,setDate,,,i18n,break,month,,disabled,getMonth,onClick,,bind,,format,new,nextYearButton,class,padding,value,null,monthNamesShort,radius,setMonth,,getFullYear,tbody,removeClass,getDate,inline,2em,html,position,,document,,updateNextPrevMonthButtons,dayNames,addClass,else,insert,height,toLowerCase,hours,current,prevYearButton,,showTime,selected,hide,done,prevButton,nextButton,monthNames,doneButton,align,margin,shift,cursor,top,minutes,nowButton,day,setTime,hasNextMonth,hasPrevMonth,parse,meridian,hasNextYear,absolute,,hasPrevYear,each,webkit,showAt,fxDuration,default,buttons,include,display,nextMonth,prevMonth,next,ceil,year,text,innerHTML,className,listYears,stopObserving,center,connectEvents,dayNamesShort,for,update,option,shadow,hasClass,assignTo,getHours,firstDay,buildButtons,none,prev,caption,updateMonth,greed,title,match,Options,5em,dayNamesMin,solid,replace,showButtons,CCC,Month,buildMonth,hideOthers,getMinutes,setMinutes,instanceof,buildSwaps,fxName,change,RegExp,checkTags,stop,Year,Names,Short,Prev,Button,Name,Day".split(",")));
|
9
|
+
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("19 35=68 Class(Observer,{extend:{EVENTS:$w('show 101 41 102'),164:{67:'ISO',100:74,157:false,min48:74,max48:74,151:1,178:'fade',128:200,53:1,36:1,checkTags:'*',rel186:'14',44:74,135:false},Formats:{ISO:'%Y-%m-%d',POSIX:'%Y/%m/%d',EUR:'%d-%m-%Y',US:'%m/%d/%Y'},57:{Done:'Done',Now:'Now',180:'180 167',184:'184ious 167',180181:'180 181',184181:'184 181',85:$w('Sun115 Mon115 Tues115 Wednes115 Thurs115 Fri115 Satur115'),85183:$w('Sun Mon Tue Wed Thu Fri Sat'),85Min:$w('Su Mo Tu We Th Fr Sa'),65182:$w('January February March April May June July August September October November December'),65182183:$w('Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec')},rescan:17(s){19 k=35.164.rel186;19 a=68 176(k+'\\\\[(.+?)\\\\]');($(s)||91).41(35.164.checkTags+'[rel*='+k+']').127(17(e){19 d=e.get('data-'+k+'-25');19 c=68 35(eval('('+d+')')||{});19 r=e.get('rel').158(a);if(r){19 i=$(r[1]);if(i)c.153(i,e)}92 c.153(e)})}},initialize:17(o){11.$super(o);11.30=$E('28',{'70':'16-14'});11.build().148().set48(68 48())},set164:17(u){11.$super(u);19 a=11.constructor;19 o=11.25;with(11.25){o.57={};144(19 k in a.57)57[k]=isArray(a.57[k])?a.57[k].clone():a.57[k];$ext(57,(u||{}).57);o.85=57.85Min;if(151)85.push(85.111());if(!isArray(53))53=[53,1];if(min48)min48=11.119(min48);if(max48){max48=11.119(max48);max48.set48(max48.get48()+1)}67=(a.Formats[67]||67).trim();if(100===74)100=67.search(/%[HkIl]/)>-1;if(44===74)44=67.search(/%[Il]/)<0;if(36>60&&12 %(36/60).133())44=true}21 11},set48:17(d){11.43=11.15648=11.119(d);21 11.up43()},get48:17(){21 11.43},101:17(){11.30.101(11.25.178,{duration:11.25.128});35.95=74;21 11},show:17(p){11.30.show(11.25.178,{duration:11.25.128});35.95=11;21 11},31:17(e,p){11.30.89('16-14-83').31(e,p);21 11}});35.131({up43:17(d){19 d=68 48(d||11.43),o=11.25;19 a=11.30.41('28.16-14-65');19 b=a.length;144(19 i=-(b-b/2).133()+1;i<(b-b/2).floor()+1;i++){19 m=68 48(d);m.76(d.61()+i);11.up43167(a.111(),m)}11.up43180184167185s(d,b);if(o.100){11.96.73=o.36<60?d.150():(d.150()/(o.36/60)).round()*(o.36/60);11.114.73=(d.173()/(o.36 % 60)).round()*o.36}21 11},up43167:17(g,d){d.set48(32);19 f=32-d.get48();d.76(d.61()-1);19 b=(11.43.getTime()/86400000).133();19 r=g.41('72 tr');19 a=r.111().41('td');g.41('72 td').127(17(t){t.137='';t.70186='16-14-115-blank'});19 o=11.25;144(19 i=1;i<=f;i++){d.set48(i);19 e=d.get187();if(11.25.151)e=e?e-1:6;a[e].137=''+i;a[e].70186=b==(d.getTime()/86400000).133()?'16-14-115-41ed':'';if((o.min48&&o.min48>d)||(o.max48&&o.max48<d))a[e].70186='16-14-115-59';a[e].43=68 48(d);if(e==6)a=r.111().41('td')}19 c=(o.135?o.57.65182183[d.61()]+',':o.57.65182[d.61()])+' '+d.79();g.first('28.16-14-65-166').up43(c)},up43180184167185s:17(a,f){19 o=11.25;if(o.min48){19 b=68 48(a.79(),0,1,0,0,0);19 c=68 48(o.min48.79(),0,1,0,0,0);11.121=b>c;b.76(a.61()-(f-f/2).133());c.76(o.min48.61());11.118=b>=c}92 11.118=11.121=true;if(o.max48){19 e=68 48(a);19 m=68 48(o.max48);[e,m].127(17(d){d.set48(32);d.76(d.61()-1);d.set48(32-d.get48());d.setHours(0);d.174(0);d.setSeconds(0);d.setMilliseconds(0)});11.117=e<m;[e,m].127('76',0);11.122=e<m}92 11.117=11.122=true;11.104[11.117?'80':'89']('16-ui-26-59');11.105[11.118?'80':'89']('16-ui-26-59');if(11.69){11.69[11.122?'80':'89']('16-ui-26-59');11.98[11.121?'80':'89']('16-ui-26-59')}},build:17(){11.170();19 g=72=$E('42',{'70':'16-14-163'}).31(11.30);19 o=11.25;if(Browser.OLD)72=$E('72').31(g);144(19 y=0;y<o.53[1];y++){19 r=$E('tr').31(72);144(19 x=0;x<o.53[0];x++)$E('td').31(r).94(11.build167())}if(o.100)11.buildTime();11.154();21 11},170:17(){19 i=11.25.57;11.105=$E('28',{'70':'16-ui-26 16-14-156-26',84:'‹',159:i.184}).31(11.30);11.104=$E('28',{'70':'16-ui-26 16-14-134-26',84:'›',159:i.180}).31(11.30);if(11.25.135){11.98=$E('28',{'70':'16-ui-26 16-14-156-140-26',84:'«',159:i.184181}).31(11.105,'after');11.69=$E('28',{'70':'16-ui-26 16-14-134-140-26',84:'»',159:i.180181}).31(11.104,'be144e')}},build167:17(){21 $E('28',{'70':'16-14-65'}).94('<28 70=\"16-14-65-166\"></28>'+'<42><thead><tr>'+11.25.85.map(17(n){21 '<th>'+n+'</th>'}).join('')+'</tr></thead><72>'+'123456'.split('').map(17(){21 '<tr><td><td><td><td><td><td><td></tr>'}).join('')+'</72></42>')},buildTime:17(){19 o=11.25;19 t=$E('28',{'70':'16-14-time',84:':'}).31(11.30);11.96=$E('41').31(t,'112');11.114=$E('41').31(t);19 m=o.36<60?o.36:60;19 h=o.36<60?1:(o.36/60).133();(60).times(17(a){19 c=(a<10?'0':'')+a;if(a<24&&a % h==0){if(o.44)11.96.94($E('143',{73:a,84:c}));92 if(a<12)11.96.94($E('143',{73:a,84:a==0?12:a}))}if(a % m==0)11.114.94($E('143',{73:a,84:c}))},11);if(!o.44){11.124=$E('41').31(t);(o.67.131s(/%P/)?['am','pm']:['AM','PM']).127(17(v){11.124.94($E('143',{73:v.97(),84:v}))},11)}},154:17(){if(!11.25.157)21;11.113=$E('28',{'70':'16-ui-26 16-14-now-26',84:11.25.57.Now});11.102185=$E('28',{'70':'16-ui-26 16-14-102-26',84:11.25.57.Done});$E('28',{'70':'16-ui-26s 16-14-26s'}).94([11.102185,11.113]).31(11.30)}});91.onKeydown(17(e){if(35.95){19 n;switch(e.keyCode){52 27:n='101';58;52 37:n='156187';58;52 39:n='134187';58;52 38:n='156Week';58;52 40:n='134Week';58;52 34:n='134167';58;52 33:n='139';58;52 13:35.95.41(35.95.43);n='102';58}if(n){35.95[n]();e.s112()}}});35.131({41:17(d){11.43=d;21 11.fire('41',d)},102:17(){if(!11.30.152('16-14-83'))11.101();21 11.fire('102',11.43)},134187:17(){21 11.17748({'48':1})},156187:17(){21 11.17748({'48':-1})},134Week:17(){21 11.17748({'48':7})},156Week:17(){21 11.17748({'48':-7})},134167:17(){21 11.17748({167:1})},139:17(){21 11.17748({167:-1})},134181:17(){21 11.17748({Full181:1})},156181:17(){21 11.17748({Full181:-1})},17748:17(h){19 d=68 48(11.43),o=11.25;144(19 k in h)d['set'+k](d['get'+k]()+h[k]);if(o.min48&&o.min48>d)d=68 48(o.min48);if(o.max48&&o.max48<d){d=68 48(o.max48);d.set48(d.get48()-1)}21 11.up43(11.43=d)},148:17(){11.105.62(11.139.63(11));11.104.62(11.134167.63(11));if(11.69){11.98.62(11.156181.63(11));11.69.62(11.134181.63(11))}11.30.41('28.16-14-65 42 72 td').127(17(c){c.62(17(){if(c.137!=''&&!c.152('16-14-115-59')){19 p=11.30.first('.16-14-115-41ed');if(p)p.80('16-14-115-41ed');c.89('16-14-115-41ed');11.116(c.43)}}.63(11))},11);if(11.96){11.96.on('177',11.116.63(11));11.114.on('177',11.116.63(11));if(!11.25.44)11.124.on('177',11.116.63(11))}if(11.113){11.113.62(11.set48.63(11,68 48()));11.102185.62(11.102.63(11))}11.30.62(17(a){a.s112()});21 11},116:17(d){if(d 172 48){11.43.set181(d.79());11.43.76(d.61());11.43.set48(d.get48())}if(11.96){11.43.setHours(11.96.73.toInt()+(!11.25.44&&11.124.73=='pm'?12:0));11.43.174(11.114.73)}21 11.41(11.43)}});35.131({153:17(i,t){19 i=$(i),t=$(t);if(t)t.62(17(a){a.s112();11.126(i.focus())}.63(11));92 i.on({focus:11.126.63(11,i),click:17(a){a.s112();if(11.30.hidden())11.126(i)}.63(11),keyDown:17(a){if(a.keyCode==9&&11.30.visible())11.101()}.63(11)});91.62(11.101.63(11));21 11},126:17(e){19 e=$(e),d=e.dimensions();11.set48(11.119(e.73));11.30.setStyle({90:'120',109:'0',left:(d.left)+'px',112:(d.112+d.93)+'px'}).31(91.body);11.s112Observing('41').s112Observing('102');11.on(11.102185?'102':'41',17(){e.73=11.67()}.63(11));21 11.101Others().show()},toggleAt:17(i){if(11.30.parentNode&&11.30.visible())11.101();92 11.126(i);21 11},101Others:17(){$$('28.16-14').127(17(e){if(!e.152('16-14-83')){if(e!=11.30)e.101()}});21 11}});35.131({119:17(g){19 d;if(g 172 48||48.119(g))d=68 48(g);92 if(isString(g)&&g){19 t=176.escape(11.25.67);19 h=t.158(/%[a-z]/ig).map('158',/[a-z]$/i).map('first').without('%');19 r=68 176('^'+t.169(/%p/i,'(pm|PM|am|AM)').169(/(%[a-z])/ig,'(.+?)')+'$');19 m=g.trim().158(r);if(m){m.111();19 y=74,f=74,d=74,b=74,e=74,s=74,c;while(m.length){19 v=m.111();19 k=h.111();if(k.97()=='b')f=11.25.57[k=='b'?'65182183':'65182'].indexOf(v);92 if(k.97()=='p')c=v.97();92{v=v.toInt();switch(k){52 'd':52 'e':d=v;58;52 'm':f=v-1;58;52 'y':52 'Y':y=v;58;52 'H':52 'k':52 'I':52 'l':b=v;58;52 'M':e=v;58;52 'S':s=v;58}}}if(c){b=b==12?0:b;b=(c=='pm'?b+12:b)}d=68 48(y,f,d,b,e,s)}}92 d=68 48();21 d},67:17(g){19 j=11.25.57;19 f=11.43.get187();19 q=11.43.61();19 c=11.43.get48();19 t=11.43.79();19 h=11.43.150();19 o=11.43.173();19 s=11.43.getSeconds();19 i=(h==0?12:h<13?h:h-12);19 v={a:j.85183[f],A:j.85[f],b:j.65182183[q],B:j.65182[q],d:(c<10?'0':'')+c,e:''+c,m:(q<9?'0':'')+(q+1),y:(''+t).substring(2,4),Y:''+t,H:(h<10?'0':'')+h,k:''+h,I:(h>0&&(h<10||(h>12&&h<22))?'0':'')+i,l:''+i,p:h<12?'AM':'PM',P:h<12?'am':'pm',M:(o<10?'0':'')+o,S:(s<10?'0':'')+s,'%':'%'};19 r=g||11.25.67;144(19 n in v)r=r.169('%'+n,v[n]);21 r}});91.onReady(17(){35.rescan()});91.write(\"<style type=\\\"141/css\\\">28.16-14,28.16-14 42,28.16-14 42 tr,28.16-14 42 th,28.16-14 42 td,28.16-14 42 72,28.16-14 42 thead{47:155;29:155;width:auto;93:auto;109:0;71:0}*.16-ui-26{132:83-block;*132:83;*zoom:1;93:1em;line-93:1em;71:.82 .168;141-108:146;29:1px 161 #165;29-78:.82;-moz-29-78:.82;-125-29-78:.82;110:pointer;46:#555;47-46:#FFF}*.16-ui-26:hover{46:#222;29-46:#999;47-46:#165}*.16-ui-26-59,*.16-ui-26-59:hover{46:#888;47:#EEE;29-46:#165;110:129}*.16-ui-26s{109-112:.168}28.16-14{90:120;93:auto;29:1px 161 #BBB;90:relative;71:.168;29-78:.3em;-moz-29-78:.3em;-125-29-78:.3em;110:129;47-46:#EEE;-moz-box-142:.82 .4em .8em #666;-125-box-142:.82 .4em .8em #666}28.16-14-83{90:relative;132:83-block;vertical-108:112;*132:83;*zoom:1;-moz-box-142:155;-125-box-142:155}28.16-14-156-26,28.16-14-134-26,28.16-14-156-140-26,28.16-14-134-140-26{90:120;float:left;width:1em;71:.1168 .4em}28.16-14-134-26{16:.168}28.16-14-156-140-26{left:2.5168}28.16-14-134-140-26{16:2.5168}28.16-14-65-166{141-108:146;93:1.82;line-93:1.82}42.16-14-163{29-spacing:0px}42.16-14-163 td{vertical-108:112;71-16:.4em}42.16-14-163>72>td:last-child{71:0}28.16-14-65 42{109-112:.82;29-spacing:1px;29-collapse:separate}28.16-14-65 42 th{46:#777;141-108:146}28.16-14-65 42 td{141-108:16;71:.1em .3em;47-46:#FFF;29:1px 161 #165;110:pointer;46:#555;29-78:.82;-moz-29-78:.82;-125-29-78:.82}28.16-14-65 42 td:hover{47-46:#165;29-46:#AAA;46:#000}28.16-14-65 42 td.16-14-115-blank{47:transparent;110:129;29:155}28.16-14-65 42 td.16-14-115-41ed{47-46:#BBB;29-46:#AAA;46:#222;font-weight:bold;71:.1em .82}28.16-14-65 42 td.16-14-115-59{46:#888;47:#EEE;29-46:#165;110:129}28.16-14-time{29-112:1px 161 #ccc;109-112:.3em;71-112:.168;141-108:146}28.16-14-time 41{109:0 .4em}28.16-14-26s 28.16-ui-26{width:3.82}28.16-14-102-26{90:120;16:.168}</style>\");",",,,,,,,,,,,this,,,calendar,,right,function,,var,,return,,,,options,button,,div,border,element,insertTo,,,,Calendar,timePeriod,,,,,select,table,date,twentyFourHour,,color,background,Date,maxDate,changeDate,minDate,case,numberOfMonths,setDate,,,i18n,break,disabled,,getMonth,onClick,bind,,month,,format,new,nextYearButton,class,padding,tbody,value,null,monthNamesShort,setMonth,,radius,getFullYear,removeClass,getDate,2em,inline,html,dayNames,,updateNextPrevMonthButtons,,addClass,position,document,else,height,insert,current,hours,toLowerCase,prevYearButton,,showTime,hide,done,selected,nextButton,prevButton,doneButton,monthNames,align,margin,cursor,shift,top,nowButton,minutes,day,setTime,hasNextMonth,hasPrevMonth,parse,absolute,hasPrevYear,hasNextYear,,meridian,webkit,showAt,each,fxDuration,default,buttons,include,display,ceil,next,listYears,nextMonth,innerHTML,className,prevMonth,year,text,shadow,option,for,update,center,stopObserving,connectEvents,dayNamesShort,getHours,firstDay,hasClass,assignTo,buildButtons,none,prev,showButtons,match,title,updateMonth,solid,dayNamesMin,greed,Options,CCC,caption,Month,5em,replace,buildSwaps,buildMonth,instanceof,getMinutes,setMinutes,hideOthers,RegExp,change,fxName,stop,Next,Year,Names,Short,Prev,Button,Name,Day".split(",")));
|
@@ -42,33 +42,32 @@ Event.extend({
|
|
42
42
|
|
43
43
|
});
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* constructor. pretty much plays a virtual factory, instances new events or extends
|
48
|
+
* existing ones and always returns an event instead of void as a normal constructor
|
49
|
+
*
|
50
|
+
* @param mixed native Event instance or String event name
|
51
|
+
* @param Object options
|
52
|
+
* @return Event instance
|
53
|
+
*/
|
54
|
+
Event.prototype.initialize = function() {
|
55
|
+
var args = $A(arguments), event = args.shift(), options = args.pop() || {};
|
56
|
+
|
57
|
+
if (isString(event)) {
|
58
|
+
var name = Event.cleanName(event);
|
59
|
+
if (Event.Mouse.NAMES.includes(name)) {
|
60
|
+
event = new Event.Mouse(name, options);
|
61
|
+
} else if (Event.Keyboard.NAMES.includes(name)) {
|
62
|
+
event = new Event.Keyboard(name, options);
|
63
|
+
} else {
|
64
|
+
event = new Event.Custom(name, options);
|
66
65
|
}
|
67
|
-
|
68
|
-
return Event.ext(event);
|
69
66
|
}
|
70
67
|
|
71
|
-
|
68
|
+
return Event.ext(event);
|
69
|
+
};
|
70
|
+
|
72
71
|
/**
|
73
72
|
* presents the basic events class
|
74
73
|
*
|
@@ -301,13 +300,13 @@ Event.Keyboard = new Class(Event.Base, {
|
|
301
300
|
*
|
302
301
|
* @copyright 2009 Nikolay V. Nemshilov aka St.
|
303
302
|
*/
|
304
|
-
Element.
|
303
|
+
Element.include({
|
305
304
|
fire: function() {
|
306
305
|
var args = $A(arguments), event = new Event(args.shift(), Object.merge(args.shift(), {element: this}));
|
307
306
|
|
308
307
|
if (event instanceof Event.Custom) {
|
309
308
|
(this.$listeners || []).each(function(i) {
|
310
|
-
if (i.e == event.
|
309
|
+
if (i.e == event.type) {
|
311
310
|
i.f.apply(this, [event].concat(i.a).concat(args));
|
312
311
|
}
|
313
312
|
}, this);
|
data/javascripts/right-events.js
CHANGED
@@ -3,4 +3,4 @@
|
|
3
3
|
*
|
4
4
|
* Copyright (C) 2008-2009 Nikolay V. Nemshilov aka St. <nemshilov#gma-il>
|
5
5
|
*/
|
6
|
-
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("11.
|
6
|
+
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("11.47({77:{BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,66:37,UP:38,54:39,DOWN:40,INSERT:45,DELETE:46},74:(18.IE||18.Konqueror)?{66:1,64:4,54:2}:{66:0,64:1,54:2}});11.proto85.62=10(){44 a=$A(68),e=a.69(),o=a.pop()||{};if(isString(e)){44 n=11.clean92(e);if(11.58.57.72(n))e=50 11.58(n,o);51 if(11.26.57.72(n))e=50 11.26(n,o);51 e=50 11.80(n,o)}14 11.ext(e)};11.65=50 70({47:{29:{30:87,22:87,19:56,17:56,16:56,24:56}},62:10(n,o){14 12.53(12.52(n,o))},53:18.IE?10(o){44 e=15.create1182();e.85=e.67=\"on\"+o.21;e.19=o.19;e.17=o.17;e.16=o.16;14 e}:78,52:10(n,o){o=82.83({},11.65.29,12.29,o);o.21=n;14 o}});11.58=50 70(11.65,{47:{57:$w('click 55 59 71 mousedown mouseup mouseover mouseout mousemove'),28:{isLeft91:10(){14 12.84==1},isRight91:10(){14 12.84==3},over:10(e){44 d=$(e).dimensions(),x=12.pageX,y=12.pageY;14!(x<d.86||x>(d.86+d.width)||y<d.88||y>(d.88+d.height))}}},29:{41:0,42:0,43:0},53:10(o){44 e=18.IE?12.63(o):15.create11(\"5811\");12[18.IE?'48':'76'](e,o);14 e},52:10(n,o){o=12.63(n,o);o.43=11.74[o.21=='59'?'54':o.21=='55'?'64':'66'];o.21=11.real92(o.21);14 o},48:10(e,o){e.clientX=o.41;e.clientY=o.42;e.43=o.43},76:10(e,o){e.init5811(o.21,o.30,o.22,15.25,21=='71'?2:1,o.41,o.42,o.41,o.42,o.17,o.19,o.16,o.24,o.43,o.75)}});11.add28(11.58.28);11.26=50 70(11.65,{47:{57:$w('keypress keydown keyup'),28:{}},29:{20:0,23:0},53:10(o){44 a=78;if(18.IE){a=12.63(o);12.48(a,o)}51 try{a=15.create11('2611');12['init'+(18.WebKit?'89':'90')](a,o)}catch(e){a=15.create11('UI11');12.73(a,o)}14 a},init90:10(e,o){e.initKey11(o.21,o.30,o.22,15.25,o.17,o.19,o.16,o.24,o.20,o.23)},init89:10(e,o){e.init2611(o.21,o.30,o.22,15.25,78,0,o.17,o.19,o.16,o.24)},73:10(e,o){e.initUI11(o.21,o.30,o.22,15.25,1);e.20=o.20;e.23=o.23;e.19=o.19;e.24=o.24;e.17=o.17;e.16=o.16},48:10(e,o){e.20=o.20;e.23=o.23}});(10(){for(44 b in 11.77)(10(k,a){11.26.28[('is_'+k.toLowerCase()).camelize()]=10(){14 12.20==a}})(b,11.77[b]);;11.add28(11.26.28)})();Element.include({fire:10(){44 b=$A(68),e=50 11(b.69(),82.83(b.69(),{75:12}));if(e instanceof 11.80){(12.$listeners||[]).each(10(a){if(a.e==e.85)a.f.apply(12,[e].79(a.a).79(b))},12)}51 if(12.dispatch11)12.dispatch11(e);51 12.fire11(e.67,e);14 12}});",",,,,,,,,,,function,Event,this,,return,document,shiftKey,ctrlKey,Browser,altKey,keyCode,name,cancelable,charCode,metaKey,defaultView,Keyboard,,Methods,Options,bubbles,createEvent,,,,,,,,,,pointerX,pointerY,button,var,,,extend,initIE,dispatchEvent,new,else,options,build,RIGHT,middleclick,false,NAMES,Mouse,rightclick,addMethods,,initialize,$super,MIDDLE,Base,LEFT,eventType,arguments,shift,Class,dblclick,includes,initDOM2,BUTTONS,element,initW3C,KEYS,null,concat,Custom,,Object,merge,which,type,left,true,top,Webkit,Gecko,Click,Name".split(",")));
|
@@ -0,0 +1,195 @@
|
|
1
|
+
/**
|
2
|
+
* Inline editor feature for RightJS (http://rightjs.org/ui/in-edit)
|
3
|
+
*
|
4
|
+
* Copyright (C) 2009 Nikolay V. Nemshilov
|
5
|
+
*/
|
6
|
+
|
7
|
+
/**
|
8
|
+
* An inline editor feature
|
9
|
+
*
|
10
|
+
* Copyright (C) 2009 Nikolay V. Nemshilov
|
11
|
+
*/
|
12
|
+
var InEdit = new Class(Observer, {
|
13
|
+
extend: {
|
14
|
+
EVENTS: $w('show hide send update'),
|
15
|
+
|
16
|
+
Options: {
|
17
|
+
url: null, // the url address where to send the stuff
|
18
|
+
name: 'text', // the field name
|
19
|
+
method: 'put', // the method
|
20
|
+
|
21
|
+
type: 'text', // the input type, 'text', 'file', 'password' or 'textarea'
|
22
|
+
|
23
|
+
toggle: null, // a reference to an element that should get hidden when the editor is active
|
24
|
+
|
25
|
+
update: true, // a marker if the element should be updated with the response-text
|
26
|
+
|
27
|
+
Xhr: {} // additional Xhr options
|
28
|
+
},
|
29
|
+
|
30
|
+
i18n: {
|
31
|
+
save: 'Save',
|
32
|
+
cancel: 'Cancel'
|
33
|
+
},
|
34
|
+
|
35
|
+
current: null // currently opened editor
|
36
|
+
},
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Constructor
|
40
|
+
*
|
41
|
+
* @param mixed an element reference
|
42
|
+
* @param Object options
|
43
|
+
*/
|
44
|
+
initialize: function(element, options) {
|
45
|
+
this.setOptions(options);
|
46
|
+
this.element = $(element);
|
47
|
+
|
48
|
+
this.build();
|
49
|
+
},
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Shows the inline-editor form
|
53
|
+
*
|
54
|
+
* @return InEdit this
|
55
|
+
*/
|
56
|
+
show: function() {
|
57
|
+
if (InEdit.current !== this) {
|
58
|
+
if (InEdit.current) InEdit.current.hide();
|
59
|
+
|
60
|
+
this.oldContent = this.element.innerHTML;
|
61
|
+
|
62
|
+
if (!['file', 'password'].include(this.options.type))
|
63
|
+
this.field.value = this.oldContent;
|
64
|
+
|
65
|
+
this.element.clean().insert(this.form);
|
66
|
+
|
67
|
+
this.spinner.hide();
|
68
|
+
this.submit.show();
|
69
|
+
|
70
|
+
if (this.options.toggle)
|
71
|
+
this.options.toggle.hide();
|
72
|
+
}
|
73
|
+
|
74
|
+
if (this.options.type != 'file')
|
75
|
+
this.field.focus();
|
76
|
+
|
77
|
+
InEdit.current = this;
|
78
|
+
return this.fire('show', this);
|
79
|
+
},
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Hides the form and brings the content back
|
83
|
+
*
|
84
|
+
* @param String optional new content
|
85
|
+
* @return InEdit this
|
86
|
+
*/
|
87
|
+
hide: function() {
|
88
|
+
this.element.innerHTML = this.oldContent;
|
89
|
+
|
90
|
+
if (this.xhr) this.xhr.cancel();
|
91
|
+
|
92
|
+
return this.finish();
|
93
|
+
},
|
94
|
+
|
95
|
+
/**
|
96
|
+
* Triggers the form remote submit
|
97
|
+
*
|
98
|
+
* @return InEdit this
|
99
|
+
*/
|
100
|
+
send: function() {
|
101
|
+
this.spinner.show().resize(this.submit.sizes());
|
102
|
+
this.submit.hide();
|
103
|
+
|
104
|
+
this.xhr = new Xhr(this.options.url, Object.merge(this.options.Xhr, {
|
105
|
+
method: this.options.method,
|
106
|
+
spinner: this.spinner,
|
107
|
+
onComplete: this.update.bind(this)
|
108
|
+
})).send(this.form);
|
109
|
+
|
110
|
+
return this.fire('send', this)
|
111
|
+
},
|
112
|
+
|
113
|
+
// protected
|
114
|
+
|
115
|
+
finish: function() {
|
116
|
+
if (this.options.toggle)
|
117
|
+
this.options.toggle.show();
|
118
|
+
|
119
|
+
InEdit.current = null;
|
120
|
+
return this.fire('hide', this);
|
121
|
+
},
|
122
|
+
|
123
|
+
update: function() {
|
124
|
+
if (this.options.update) {
|
125
|
+
this.element.update(this.xhr.text);
|
126
|
+
this.fire('update', this);
|
127
|
+
}
|
128
|
+
|
129
|
+
this.xhr = null;
|
130
|
+
|
131
|
+
this.finish();
|
132
|
+
},
|
133
|
+
|
134
|
+
build: function() {
|
135
|
+
this.field = this.buildField();
|
136
|
+
this.spinner = this.buildSpinner();
|
137
|
+
this.submit = $E('input', {type: 'submit', 'class': 'right-in-edit-submit', value: this.constructor.i18n.save});
|
138
|
+
this.cancel = $E('a', {href: '', 'class': 'right-in-edit-cancel', html: this.constructor.i18n.cancel});
|
139
|
+
this.form = $E('form', {'class': 'right-in-edit', action: this.options.url})
|
140
|
+
.insert([this.field, this.spinner, this.submit, this.cancel]);
|
141
|
+
|
142
|
+
this.form.onSubmit(function(e) {e.stop(); this.send(); }.bind(this));
|
143
|
+
this.cancel.onClick(function(e) {e.stop(); this.hide(); }.bind(this));
|
144
|
+
},
|
145
|
+
|
146
|
+
buildField: function() {
|
147
|
+
return (this.options.type == 'textarea' ? $E('textarea') :
|
148
|
+
$E('input', {type: this.options.type}))
|
149
|
+
.addClass('right-in-edit-field')
|
150
|
+
.set('name', this.options.name);
|
151
|
+
},
|
152
|
+
|
153
|
+
buildSpinner: function() {
|
154
|
+
var spinner = $E('div', {
|
155
|
+
'class': 'right-in-edit-spinner',
|
156
|
+
'html': '<div class="glow"></div><div></div><div></div>'
|
157
|
+
});
|
158
|
+
|
159
|
+
(function() {
|
160
|
+
spinner.insertBefore(spinner.lastChild, spinner.firstChild)
|
161
|
+
}).periodical(400);
|
162
|
+
|
163
|
+
return spinner;
|
164
|
+
}
|
165
|
+
|
166
|
+
});
|
167
|
+
|
168
|
+
/**
|
169
|
+
* The document hooks for in-edit form
|
170
|
+
*
|
171
|
+
* Copyright (C) Nikolay V. Nemshilov
|
172
|
+
*/
|
173
|
+
document.onKeydown(function(event) {
|
174
|
+
if (event.keyCode == 27 && InEdit.current)
|
175
|
+
InEdit.current.hide();
|
176
|
+
});
|
177
|
+
|
178
|
+
/**
|
179
|
+
* The element level inline editor extension
|
180
|
+
*
|
181
|
+
* Copyright (C) 2009 Nikolay V. Nemshilov
|
182
|
+
*/
|
183
|
+
Element.addMethods({
|
184
|
+
/**
|
185
|
+
* Triggers an inline-editor feature on the element
|
186
|
+
*
|
187
|
+
* @param Object options for the InEdit class
|
188
|
+
* @return InEdit object
|
189
|
+
*/
|
190
|
+
inEdit: function(options) {
|
191
|
+
return new InEdit(this, options).show();
|
192
|
+
}
|
193
|
+
});
|
194
|
+
|
195
|
+
document.write("<style type=\"text/css\">form.right-in-edit,*.right-in-edit-field,*.right-in-edit-submit,*.right-in-edit-cancel,*.right-in-edit-spinner,*.right-in-edit-spinner div{margin:0;padding:0}form.right-in-edit,*.right-in-edit-spinner,*.right-in-edit-spinner div{display:inline-block;*display:inline;*zoom:1;border:none;background:none}textarea.right-in-edit-field{width:100%;margin-bottom:.5em}*.right-in-edit-field,*.right-in-edit-submit,*.right-in-edit-spinner{margin-right:.2em}*.right-in-edit-spinner{background:#EEE;border:1px solid #DDD;-moz-border-radius:.2em;-webkit-border-radius:.2em;text-align:center;line-height:100%}*.right-in-edit-spinner div{width:.3em;height:.7em;margin-top:.3em;background:#BBB;margin-right:2px;-moz-border-radius:.1em;-webkit-border-radius:.1em}*.right-in-edit-spinner div.glow{background:#777}</style>");
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/**
|
2
|
+
* Inline editor feature for RightJS (http://rightjs.org/ui/in-edit)
|
3
|
+
*
|
4
|
+
* Copyright (C) 2009 Nikolay V. Nemshilov
|
5
|
+
*/
|
6
|
+
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("78 16=65 81(Observer,{extend:{EVENTS:$w('30 23 41 21'),80:{66:39,53:'42',46:'put',28:'42',32:39,21:true,60:{}},54:{73:'Save',19:'Cancel'},15:39},initialize:11(e,o){6.set80(o);6.29=$(e);6.64()},30:11(){if(16.15!==6){if(16.15)16.15.23();6.34=6.29.49;if(!['68','password'].include(6.13.28))6.22.62=6.34;6.29.clean().56(6.31);6.12.23();6.17.30();if(6.13.32)6.13.32.23()}if(6.13.28!='68')6.22.focus();16.15=6;20 6.47('30',6)},23:11(){6.29.49=6.34;if(6.48)6.48.19();20 6.45()},41:11(){6.12.30().resize(6.17.sizes());6.17.23();6.48=65 60(6.13.66,Object.merge(6.13.60,{46:6.13.46,12:6.12,onComplete:6.21.52(6)})).41(6.31);20 6.47('41',6)},45:11(){if(6.13.32)6.13.32.30();16.15=39;20 6.47('23',6)},21:11(){if(6.13.21){6.29.21(6.48.42);6.47('21',6)}6.48=39;6.45()},64:11(){6.22=6.44();6.12=6.38();6.17=$E('63',{28:'17','35':'9-in-14-17',62:6.43.54.73});6.19=$E('a',{href:'','35':'9-in-14-19',69:6.43.54.19});6.31=$E('31',{'35':'9-in-14',action:6.13.66}).56([6.22,6.12,6.17,6.19]);6.31.onSubmit(11(a){a.72();6.41()}.52(6));6.19.onClick(11(a){a.72();6.23()}.52(6))},44:11(){20(6.13.28=='37'?$E('37'):$E('63',{28:6.13.28})).add81('9-in-14-22').set('53',6.13.53)},38:11(){78 s=$E('24',{'35':'9-in-14-12','69':'<24 35=\"71\"></24><24></24><24></24>'});(11(){s.56Before(s.last82,s.first82)}).periodical(400);20 s}});50.onKeydown(11(e){if(e.keyCode==27&&16.15)16.15.23()});Element.addMethods({inEdit:11(o){20 65 16(6,o).30()}});50.write(\"<59 28=\\\"42/css\\\">31.9-in-14,*.9-in-14-22,*.9-in-14-17,*.9-in-14-19,*.9-in-14-12,*.9-in-14-12 24{33:0;padding:0}31.9-in-14,*.9-in-14-12,*.9-in-14-12 24{51:57-block;*51:57;*zoom:1;26:70;25:70}37.9-in-14-22{67:75%;33-bottom:.5em}*.9-in-14-22,*.9-in-14-17,*.9-in-14-12{33-9:.61}*.9-in-14-12{25:#EEE;26:1px solid #DDD;-76-26-36:.61;-55-26-36:.61;42-align:center;line-58:75%}*.9-in-14-12 24{67:.79;58:.7em;33-top:.79;25:#BBB;33-9:2px;-76-26-36:.74;-55-26-36:.74}*.9-in-14-12 24.71{25:#777}</59>\");",",,,,,,this,,,right,,function,spinner,options,edit,current,InEdit,submit,,cancel,return,update,field,hide,div,background,border,,type,element,show,form,toggle,margin,oldContent,class,radius,textarea,buildSpinner,null,,send,text,constructor,buildField,finish,method,fire,xhr,innerHTML,document,display,bind,name,i18n,webkit,insert,inline,height,style,Xhr,2em,value,input,build,new,url,width,file,html,none,glow,stop,save,1em,100,moz,,var,3em,Options,Class,Child".split(",")));
|
@@ -5,18 +5,21 @@
|
|
5
5
|
*/
|
6
6
|
|
7
7
|
/**
|
8
|
-
*
|
8
|
+
* The generic JSON interface
|
9
9
|
*
|
10
10
|
* Credits:
|
11
11
|
* Based on the original JSON escaping implementation
|
12
12
|
* http://www.json.org/json2.js
|
13
13
|
*
|
14
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
14
|
+
* @copyright (C) 2009-2010 Nikolay V. Nemshilov aka St.
|
15
15
|
*/
|
16
|
-
(function(
|
17
|
-
|
18
|
-
|
16
|
+
var JSON = (function(native_JSON) {
|
17
|
+
// see the original JSON decoder implementation for descriptions http://www.json.org/json2.js
|
18
|
+
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
19
|
+
specials = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\'},
|
20
|
+
quotables = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
|
19
21
|
|
22
|
+
|
20
23
|
// quotes the string
|
21
24
|
function quote(string) {
|
22
25
|
return string.replace(quotables, function(chr) {
|
@@ -24,103 +27,54 @@
|
|
24
27
|
});
|
25
28
|
};
|
26
29
|
|
27
|
-
|
28
|
-
|
29
|
-
}
|
30
|
-
|
31
|
-
})(String.prototype);
|
32
|
-
/**
|
33
|
-
* Dates to JSON convertion
|
34
|
-
*
|
35
|
-
* Credits:
|
36
|
-
* Based on the original JSON escaping implementation
|
37
|
-
* http://www.json.org/json2.js
|
38
|
-
*
|
39
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
40
|
-
*/
|
41
|
-
(function(Date_proto) {
|
42
|
-
var z = function(num) {
|
30
|
+
// adds the leading zero symbol
|
31
|
+
var zerofy = function(num) {
|
43
32
|
return (num < 10 ? '0' : '')+num;
|
44
33
|
};
|
45
34
|
|
46
35
|
|
47
|
-
|
48
|
-
|
49
|
-
z(this.getUTCMonth() + 1) + '-' +
|
50
|
-
z(this.getUTCDate()) + 'T' +
|
51
|
-
z(this.getUTCHours()) + ':' +
|
52
|
-
z(this.getUTCMinutes()) + ':' +
|
53
|
-
z(this.getUTCSeconds()) + 'Z';
|
54
|
-
};
|
55
|
-
|
56
|
-
})(Date.prototype);
|
57
|
-
/**
|
58
|
-
* Number to JSON export
|
59
|
-
*
|
60
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
61
|
-
*/
|
62
|
-
Number.prototype.toJSON = function() { return String(this+0); };
|
63
|
-
/**
|
64
|
-
* The boolean types to prototype export
|
65
|
-
*
|
66
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
67
|
-
*/
|
68
|
-
Boolean.prototype.toJSON = function() { return String(this); };
|
69
|
-
/**
|
70
|
-
* Array instances to JSON export
|
71
|
-
*
|
72
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
73
|
-
*/
|
74
|
-
Array.prototype.toJSON = function() {
|
75
|
-
return '['+this.map(JSON.encode).join(',')+']'
|
76
|
-
};
|
77
|
-
/**
|
78
|
-
* The Hash instances to JSON export
|
79
|
-
*
|
80
|
-
* Copyright (C) 2009 Nikolay V. Nemshilov
|
81
|
-
*/
|
82
|
-
if (window['Hash']) {
|
83
|
-
window['Hash'].prototype.toJSON = function() {
|
84
|
-
return window['JSON'].encode(this.toObject());
|
85
|
-
};
|
86
|
-
}
|
87
|
-
/**
|
88
|
-
* The generic JSON interface
|
89
|
-
*
|
90
|
-
* Credits:
|
91
|
-
* Based on the original JSON escaping implementation
|
92
|
-
* http://www.json.org/json2.js
|
93
|
-
*
|
94
|
-
* @copyright (C) 2009 Nikolay V. Nemshilov aka St.
|
95
|
-
*/
|
96
|
-
var JSON = {
|
97
|
-
encode: function(value) {
|
98
|
-
var result;
|
99
|
-
|
36
|
+
// converts the value into a JSON string
|
37
|
+
var stringify = native_JSON.stringify || function(value) {
|
100
38
|
if (value === null) {
|
101
|
-
|
39
|
+
return 'null';
|
102
40
|
} else if (value.toJSON) {
|
103
|
-
|
104
|
-
} else if (isHash(value)){
|
105
|
-
result = [];
|
106
|
-
for (var key in value) {
|
107
|
-
result.push(key.toJSON()+":"+JSON.encode(value[key]));
|
108
|
-
}
|
109
|
-
result = '{'+result+'}';
|
41
|
+
return value.toJSON();
|
110
42
|
} else {
|
111
|
-
|
43
|
+
|
44
|
+
switch(typeof(value)) {
|
45
|
+
case 'boolean': return String(value);
|
46
|
+
case 'number': return String(value+0);
|
47
|
+
case 'string': return '"'+ quote(value) + '"';
|
48
|
+
case 'object':
|
49
|
+
|
50
|
+
if (value instanceof Array)
|
51
|
+
return '['+value.map(JSON.stringify).join(',')+']';
|
52
|
+
|
53
|
+
else if (value instanceof Date)
|
54
|
+
return value.getUTCFullYear() + '-' +
|
55
|
+
zerofy(value.getUTCMonth() + 1) + '-' +
|
56
|
+
zerofy(value.getUTCDate()) + 'T' +
|
57
|
+
zerofy(value.getUTCHours()) + ':' +
|
58
|
+
zerofy(value.getUTCMinutes()) + ':' +
|
59
|
+
zerofy(value.getUTCSeconds()) + '.' +
|
60
|
+
zerofy(value..getMilliseconds()) + 'Z' ;
|
61
|
+
|
62
|
+
else {
|
63
|
+
var result = [];
|
64
|
+
for (var key in value) {
|
65
|
+
result.push(JSON.encode(key)+":"+JSON.encode(value[key]));
|
66
|
+
}
|
67
|
+
return '{'+result.join(',')+'}';
|
68
|
+
}
|
69
|
+
}
|
112
70
|
}
|
113
|
-
|
114
|
-
return result;
|
115
|
-
},
|
116
|
-
|
117
|
-
// see the original JSON decoder implementation for descriptions http://www.json.org/json2.js
|
118
|
-
cx: /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
71
|
+
};
|
119
72
|
|
120
|
-
|
73
|
+
// parses a json string
|
74
|
+
var parse = native_JSON.parse || function(string) {
|
121
75
|
if (isString(string) && string) {
|
122
76
|
// getting back the UTF-8 symbols
|
123
|
-
string = string.replace(
|
77
|
+
string = string.replace(cx, function (a) {
|
124
78
|
return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
125
79
|
});
|
126
80
|
|
@@ -133,8 +87,20 @@ var JSON = {
|
|
133
87
|
}
|
134
88
|
|
135
89
|
throw "JSON parse error: "+string;
|
136
|
-
}
|
137
|
-
|
90
|
+
};
|
91
|
+
|
92
|
+
|
93
|
+
return {
|
94
|
+
|
95
|
+
stringify: stringify,
|
96
|
+
parse: parse,
|
97
|
+
|
98
|
+
encode: stringify,
|
99
|
+
decode: parse
|
100
|
+
|
101
|
+
|
102
|
+
}})(self.JSON);
|
103
|
+
|
138
104
|
/**
|
139
105
|
* Wraps up the Cooke set/get methods so that the values
|
140
106
|
* were automatically exported/imported into JSON strings
|
data/javascripts/right-json.js
CHANGED
@@ -3,4 +3,4 @@
|
|
3
3
|
*
|
4
4
|
* Copyright (C) 2009 Nikolay V. Nemshilov aka St. <nemshilov#gma-il>
|
5
5
|
*/
|
6
|
-
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("(
|
6
|
+
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("14 12=(11(d){14 a=/[\\u52\\36\\49-\\41\\45\\50\\48\\34-\\47\\46-\\42\\40-\\38\\37\\35-\\44]/g,f={'\\b':'\\\\b','\\t':'\\\\t','\\n':'\\\\n','\\f':'\\\\f','\\r':'\\\\r','\"':'\\\\\"','\\\\\': '\\\\\\\\\'},q=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\36\\49-\\41\\45\\50\\48\\34-\\47\\46-\\42\\40-\\38\\37\\35-\\44]/g;11 e(s){3 s.13(q,11(c){3 f[c]||'\\\\u'+('52'+c.22(0).30(16)).43(-4)})};14 z=11(n){3(n<10?'0':'')+n};14 g=d.15||11(v){if(v===25)3 '25';19 if(v.to12)3 v.to12();19 switch(typeof(v)){26 'boolean':3 33(v);26 'number':3 33(v+0);26 'string':3 '\"'+e(v)+'\"';26 'object':if(v 21 Array)3 '['+v.map(12.15).53(',')+']';19 if(v 21 56)3 v.55UTCFullYear()+'-'+z(v.55UTCMonth()+1)+'-'+z(v.55UTC56())+'T'+z(v.55UTCHours())+':'+z(v.55UTCMinutes())+':'+z(v.55UTCSeconds())+'.'+z(v..55Milliseconds())+'Z';19{14 r=[];for(14 k in v)r.push(12.18(k)+\":\"+12.18(v[k]));3 '{'+r.53(',')+'}'}}};14 p=d.29||11(s){if(is33(s)&&s){s=s.13(a,11(b){3 '\\\\u'+('52'+b.22(0).30(16)).43(-4)});if(/^[\\],:{}\\s]*$/.test(s.13(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').13(/\"[^\"\\\\\\n\\r]*\"|true|false|25|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,']').13(/(?:^|:|,)(?:\\s*\\[)+/g,'')))3 eval('('+s+')')}39 \"12 29 error: \"+s};3{15:g,29:p,18:g,23:p}})(self.12);if(window['31'])(11(C){14 a=C.54,o=C.55;$ext(C,{54:11(v){3 a.51(27,12.18(v))},55:11(){3 12.23(o.51(27))}})})(31.24);Xhr.24.sanitized12=11(){try{3 12.23(27.text)}catch(e){if(27.secure12)39 e;19 3 25}};",",,,return,,,,,,,,function,JSON,replace,var,stringify,,,encode,else,,instanceof,charCodeAt,decode,prototype,null,case,this,,parse,toString,Cookie,toJSON,String,u200c,ufff0,u00ad,ufeff,u206f,throw,u2060,u0604,u202f,slice,uffff,u070f,u2028,u200f,u17b5,u0600,u17b4,call,0000,join,set,get,Date".split(",")));
|