From 18f60364b920e0ff33bc4b8e3135590effeaf173 Mon Sep 17 00:00:00 2001 From: Renard Date: Sun, 29 Mar 2020 18:47:51 -0300 Subject: Prettier para JS --- static/js/palette_selfy.js | 1992 ++++++++++++++++++++++++++------------------ 1 file changed, 1174 insertions(+), 818 deletions(-) (limited to 'static/js/palette_selfy.js') diff --git a/static/js/palette_selfy.js b/static/js/palette_selfy.js index b17134f..eb7d594 100755 --- a/static/js/palette_selfy.js +++ b/static/js/palette_selfy.js @@ -1,972 +1,1328 @@ // palette_selfy.js .. for PaintBBS and ShiPainter .. last update : 2004/04/11. //→使い方 .. 外部JSとして読み込んでから、好きな所で palette_selfy() を呼び出して下さい. - var selfv=new Array(); var selfytag=new Array(); //←消さないで. +var selfv = new Array(); +var selfytag = new Array(); //←消さないで. //↓設定 ------------------------------------------------------------ // ※selfv[*] は、それぞれの設定を空白にすると、その機能のボタンを表示させなくできます. // +-する値のとこ -var pnum = 10; // +- のデフォルト値 -selfv[0] = 'size=3 style="text-align:right">'; // 数値タグ(type=text)の中身 - +var pnum = 10; // +- のデフォルト値 +selfv[0] = 'size=3 style="text-align:right">'; // 数値タグ(type=text)の中身 // パレットリスト. // ..各要素の中の色は、1つだけなら他の13色はその色を元に↓の2通りから自動取得、 -var psx = 0; // 0:彩度+明度を元に. 1:色相を循環で. +var psx = 0; // 0:彩度+明度を元に. 1:色相を循環で. // 彩度+明度を元にするときの色. (複数設定する場合は、1つ1つの色を \n で区切る) var pdefs = new Array( - '#ffffff', - '#ffe6e6','#ffece6','#fff3e6','#fff9e6','#ffffe6', - '#f3ffe6','#e6fff3','#e6f3ff','#ffe6ff','#eeddbb', -''); // ※空白だとその要素はスキップ. + "#ffffff", + "#ffe6e6", + "#ffece6", + "#fff3e6", + "#fff9e6", + "#ffffe6", + "#f3ffe6", + "#e6fff3", + "#e6f3ff", + "#ffe6ff", + "#eeddbb", + "" +); // ※空白だとその要素はスキップ. // 色相で循環させるときの色. (複数設定する場合は、1つ1つの色を \n で区切る) var pdefx = new Array( - '#ffffff', - '#ffe6e6','#ffcccc','#ff9999','#e6cccc','#e69999', - '#cc9999','#cc6666','#996666','#993333','#660000', -''); // ※空白だとその要素はスキップ. - + "#ffffff", + "#ffe6e6", + "#ffcccc", + "#ff9999", + "#e6cccc", + "#e69999", + "#cc9999", + "#cc6666", + "#996666", + "#993333", + "#660000", + "" +); // ※空白だとその要素はスキップ. // デフォルトのパレットカラー (一番最初にアプレットにでる色) -var pbase = '#000000\n#FFFFFF\n#B47575\n#888888\n#FA9696\n#C096C0\n#FFB6FF\n#8080FF\n#25C7C9\n#E7E58D\n#E7962D\n#99CB7B\n#FCECE2\n#F9DDCF'; - +var pbase = + "#000000\n#FFFFFF\n#B47575\n#888888\n#FA9696\n#C096C0\n#FFB6FF\n#8080FF\n#25C7C9\n#E7E58D\n#E7962D\n#99CB7B\n#FCECE2\n#F9DDCF"; // サンプルカラーの - // 表示するパレットのカラー番号(この中にある番号だけ↓で書き出し) -var sams = new Array(0,2,4,6,8,10,12,1,3,5,7,9,11,13); // 彩度+明度を元にするとき -var samx = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13); // 色相で循環させるとき +// 表示するパレットのカラー番号(この中にある番号だけ↓で書き出し) +var sams = new Array(0, 2, 4, 6, 8, 10, 12, 1, 3, 5, 7, 9, 11, 13); // 彩度+明度を元にするとき +var samx = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13); // 色相で循環させるとき -selfv[1] = ' '; // フォント +selfv[1] = " "; // フォント selfv[2] = 'style="font-size:xx-small; background-color:$FONT;"'; - // フォントタグの中身(「$FONT」:16進法RGB色が代入、正確に適用される属性は↓の3つ) - // … color, style="color" style="background", style="background-color") +// フォントタグの中身(「$FONT」:16進法RGB色が代入、正確に適用される属性は↓の3つ) +// … color, style="color" style="background", style="background-color") - // ※↓これより下は ">"(閉じタグ) も入れてください // +// ※↓これより下は ">"(閉じタグ) も入れてください // // パレットの選択ボタン(type=radio)タグの中身 -selfv[3] = 'style="border-width:0;" title="デフォルトのパレット">'; // デフォルト色 -selfv[4] = 'style="border-width:0;" title="ここのパレットを使う。\nチェックしてるときにさらに押すと、チェックが外れ、\n色相循環か、彩度+明度パレットに。(1番の色が基本色)">'; // 選択 - +selfv[3] = 'style="border-width:0;" title="デフォルトのパレット">'; // デフォルト色 +selfv[4] = + 'style="border-width:0;" title="ここのパレットを使う。\nチェックしてるときにさらに押すと、チェックが外れ、\n色相循環か、彩度+明度パレットに。(1番の色が基本色)">'; // 選択 // ボタン(type=button)タグの中身 -selfv[5] = 'value="H" title="色相パレット (1番の色が基本色)">'; // 色相 -selfv[6] = 'value="S" title="彩度パレット (1番の色が基本色)">'; // 彩度 -selfv[7] = 'value="B" title="明度パレット (1番の色が基本色)">\n'; // 明度 -selfv[8] = 'value="o" title="ここに今のパレットを保存">'; // セーブ -selfv[9] = 'value="x" title="ここのパレットをデフォルトに戻す">
\n'; // デフォルト - -selfv[10] = 'value="H+" title="パレット全体の色相を+">'; // 色相+ -selfv[11] = 'value="H-" title="パレット全体の色相を−">'; // 色相- -selfv[12] = 'value="S+" title="パレット全体の彩度を+">'; // 彩度+ -selfv[13] = 'value="S-" title="パレット全体の彩度を−">'; // 彩度- -selfv[14] = 'value="B+" title="パレット全体の明度を+">\n'; // 明度+ -selfv[15] = 'value="B-" title="パレット全体の明度を−">\n'; // 明度- -selfv[16] = 'value="RGB+" title="パレット全体のRGBを+">
\n'; // RGB+ -selfv[17] = 'value="RGB-" title="パレット全体のRGBを−">
\n'; // RGB- - +selfv[5] = 'value="H" title="色相パレット (1番の色が基本色)">'; // 色相 +selfv[6] = 'value="S" title="彩度パレット (1番の色が基本色)">'; // 彩度 +selfv[7] = 'value="B" title="明度パレット (1番の色が基本色)">\n'; // 明度 +selfv[8] = 'value="o" title="ここに今のパレットを保存">'; // セーブ +selfv[9] = 'value="x" title="ここのパレットをデフォルトに戻す">
\n'; // デフォルト + +selfv[10] = 'value="H+" title="パレット全体の色相を+">'; // 色相+ +selfv[11] = 'value="H-" title="パレット全体の色相を−">'; // 色相- +selfv[12] = 'value="S+" title="パレット全体の彩度を+">'; // 彩度+ +selfv[13] = 'value="S-" title="パレット全体の彩度を−">'; // 彩度- +selfv[14] = 'value="B+" title="パレット全体の明度を+">\n'; // 明度+ +selfv[15] = 'value="B-" title="パレット全体の明度を−">\n'; // 明度- +selfv[16] = 'value="RGB+" title="パレット全体のRGBを+">
\n'; // RGB+ +selfv[17] = 'value="RGB-" title="パレット全体のRGBを−">
\n'; // RGB- // グラデーションのとこ -selfv[18] = 'style="border-width:0;" title="2点を元にグラデーション (1番の色と14番の色)" checked>2'; // 2点 -selfv[19] = 'style="border-width:0;" title="3点を元にグラデーション (1番、8番、14番の色)">3'; // 3点 -selfv[20] = 'style="border-width:0;" title="4点を元にグラデーション (1、6、10、14番の色)">4
\n'; // 4点 -selfv[21] = 'value="RGB" title="RGBでグラデーション">\n'; // RGB? -selfv[22] = 'value="+HSB" title="+HSBでグラデーション (色相+方向)">\n'; // +HSB -selfv[23] = 'value="-HSB" title="-HSBでグラデーション (色相−方向)">
\n'; // -HSB - +selfv[18] = + 'style="border-width:0;" title="2点を元にグラデーション (1番の色と14番の色)" checked>2'; // 2点 +selfv[19] = + 'style="border-width:0;" title="3点を元にグラデーション (1番、8番、14番の色)">3'; // 3点 +selfv[20] = + 'style="border-width:0;" title="4点を元にグラデーション (1、6、10、14番の色)">4
\n'; // 4点 +selfv[21] = 'value="RGB" title="RGBでグラデーション">\n'; // RGB? +selfv[22] = 'value="+HSB" title="+HSBでグラデーション (色相+方向)">\n'; // +HSB +selfv[23] = 'value="-HSB" title="-HSBでグラデーション (色相−方向)">
\n'; // -HSB // 追加・削除 -selfv[24] = 'value="+" title="パレットを追加します">'; // 追加 -selfv[25] = 'value="-" title="選択中のパレットを削除します">\n'; // 削除 - +selfv[24] = 'value="+" title="パレットを追加します">'; // 追加 +selfv[25] = 'value="-" title="選択中のパレットを削除します">\n'; // 削除 // セーブ・オートセーブ -selfv[26] = 'checked title="ここにチェックをつけておくと、色を変更するとき、\n 自動で保存パレットにパレット情報をセーブします。\n自動保存が適用されるのは、\n チェックしてるパレットから他のパレットに移動したとき、\n チェックしてるパレットのH/S/Bボタンを押したとき、\n の2つのときです。サンプルの色も変わります。\nもちろん、ここにチェックしてなくても、\n 手動でセーブボタンを押せば、パレットに保存されます。">'; // 自動セーブ -selfv[27] = 'value="O" title="今の全体のパレットをクッキーに保存">
\n'; // セーブ - +selfv[26] = + 'checked title="ここにチェックをつけておくと、色を変更するとき、\n 自動で保存パレットにパレット情報をセーブします。\n自動保存が適用されるのは、\n チェックしてるパレットから他のパレットに移動したとき、\n チェックしてるパレットのH/S/Bボタンを押したとき、\n の2つのときです。サンプルの色も変わります。\nもちろん、ここにチェックしてなくても、\n 手動でセーブボタンを押せば、パレットに保存されます。">'; // 自動セーブ +selfv[27] = 'value="O" title="今の全体のパレットをクッキーに保存">
\n'; // セーブ // デフォルトのパレットを 色相360°にするか、彩度++明度-- にするか -selfv[28] = 'style="border-width:0;" title="デフォルトのパレットは、色相で循環させる">Ho'; // H° -selfv[29] = 'style="border-width:0;" title="デフォルトのパレットは、彩度+、明度−でリスト">+S-B'; // +S-B -selfv[30] = 'value="X" title="全体のパレットをデフォルトに戻す">
\n'; // デフォルトに - +selfv[28] = + 'style="border-width:0;" title="デフォルトのパレットは、色相で循環させる">Ho'; // H° +selfv[29] = + 'style="border-width:0;" title="デフォルトのパレットは、彩度+、明度−でリスト">+S-B'; // +S-B +selfv[30] = 'value="X" title="全体のパレットをデフォルトに戻す">
\n'; // デフォルトに // UPLOAD / DOWNLOAD -selfv[31] = 'value="" size=8 title="パレットデータ。\n・アップロードするときは、ここに貼り付けてください。\n・ダウンロードするときは、ここにデータが出力されます。\n  ローカルのテキストにでも保存してください。\n※パレットデータは、\n pals = new Array(\'#FFFFFF\',\'#B47575\\n#888888\\n...\');\n のように、JSの配列形式で書かれます。">\n'; // -selfv[32] = 'value="↑" title="←からパレットデータをアップロード">'; // -selfv[33] = 'value="↓" title="←←にパレットデータをダウンロード">
\n'; // - +selfv[31] = + "value=\"\" size=8 title=\"パレットデータ。\n・アップロードするときは、ここに貼り付けてください。\n・ダウンロードするときは、ここにデータが出力されます。\n  ローカルのテキストにでも保存してください。\n※パレットデータは、\n pals = new Array('#FFFFFF','#B47575\\n#888888\\n...');\n のように、JSの配列形式で書かれます。\">\n"; // +selfv[32] = 'value="↑" title="←からパレットデータをアップロード">'; // +selfv[33] = 'value="↓" title="←←にパレットデータをダウンロード">
\n'; // // このパレットテーブルを囲んでる、ソースとかタグとか (formタグは消しちゃダメ) // フォーム始まり -selfytag[0] = '
\n\n
\n'; +selfytag[0] = + '
\n\n
\n'; // フォームの間_1 (個別のパレット 〜 全体の HSB、RGB +- とか) selfytag[1] = '
\n'; // フォームの間_2 (全体の HSB、RGB +- とか 〜 グラデーション) -selfytag[2] = '
\n
\nGradation'; +selfytag[2] = + '
\n
\nGradation'; // フォームの間_3 (グラデーション 〜 パレットの追加・削除ボタン) -selfytag[3] = '
\n
\nPalette'; +selfytag[3] = + '
\n
\nPalette'; // フォームの間_4 (パレットの追加・削除ボタン 〜 セーブボタン) -selfytag[4] = '\nSave'; +selfytag[4] = "\nSave"; // フォームの間_5 (セーブボタン 〜 Defaultは H++/+S-B どちらか) -selfytag[5] = '
\n
\nDefault'; +selfytag[5] = + '
\n
\nDefault'; // フォームの間_6 (Defaultは H++/+S-B どちらか 〜 パレットのアップ/ダウンロード) -selfytag[6] = '
\n
\nUpdata '; +selfytag[6] = + '
\n
\nUpdata '; // フォーム終わり -selfytag[7] = '
\n
\n
\n'; +selfytag[7] = "
\n\n
\n"; //↑設定おわり ------------------------------------------------------ - // 初期値 (いたるところで使う値) var d = document; -var pon,pno; // radioチェック中? / チェックしたパレットNO. -var qon,qno,qmo; // buttonプッシュ中? / プッシュしたパレットNO. -var pals = new Array(); // color-palette -var inp = '=g && r>=b){ - max=r; - }else if(g>=b){ - max=g; - }else{ - max=b; - } - - // min - if(r<=g && r<=b){ - min=r; - }else if(g<=b){ - min=g; - }else{ - min=b; - } - - // 0,0,0 - if(max<=0){ return(new Array(0,0,0)); } - - // difference - dif=max-min; - - //Hue: - if(max>min){ - if(g==max){ - h=(b-r)/dif*60+120; - }else if(b==max){ - h=(r-g)/dif*60+240; - }else if(b>g){ - h=(g-b)/dif*60+360; - }else{ - h=(g-b)/dif*60; - } - if(h<0){ - h=h+360; - } - }else{ h=0; } - h*=255/360; - - //Saturation: - s=(dif/max)*255; - - //Value: - v=max; - - return(new Array(h,s,v)); +function RGBtoHSB(r, g, b) { + var max, min, dif, h, s, v; + + // max + if (r >= g && r >= b) { + max = r; + } else if (g >= b) { + max = g; + } else { + max = b; + } + + // min + if (r <= g && r <= b) { + min = r; + } else if (g <= b) { + min = g; + } else { + min = b; + } + + // 0,0,0 + if (max <= 0) { + return new Array(0, 0, 0); + } + + // difference + dif = max - min; + + //Hue: + if (max > min) { + if (g == max) { + h = ((b - r) / dif) * 60 + 120; + } else if (b == max) { + h = ((r - g) / dif) * 60 + 240; + } else if (b > g) { + h = ((g - b) / dif) * 60 + 360; + } else { + h = ((g - b) / dif) * 60; + } + if (h < 0) { + h = h + 360; + } + } else { + h = 0; + } + h *= 255 / 360; + + //Saturation: + s = (dif / max) * 255; + + //Value: + v = max; + + return new Array(h, s, v); } - // RGB16→RGB10 表記. 値は 000000〜ffffff -function to10rgb(str){ - var ns = new Array(); - str = str.replace(/[^0-9a-fA-F]/g,''); - for(var i=0; i<=2; i++){ - ns[i] = str.substr(i*2,2); - if(!ns[i]){ ns[i]='00'; } - ns[i] = Number(parseInt(ns[i],16).toString(10)); - } - return(ns); +function to10rgb(str) { + var ns = new Array(); + str = str.replace(/[^0-9a-fA-F]/g, ""); + for (var i = 0; i <= 2; i++) { + ns[i] = str.substr(i * 2, 2); + if (!ns[i]) { + ns[i] = "00"; + } + ns[i] = Number(parseInt(ns[i], 16).toString(10)); + } + return ns; } - // 10→16進法二桁 -function format16(n){ - n = Number(n).toString(16); - if(n.length<2){ n='0'+n; } - return(n); +function format16(n) { + n = Number(n).toString(16); + if (n.length < 2) { + n = "0" + n; + } + return n; } - - - // ------------------------------------------------------------------------- // パレットに (※ q=1:アプレットパレットに出力しない. lst=1:最初のとき -function rady(p,q,lst){ - var d = document; - var df = d.forms.palepale; - - // デフォルトパレット - if(!p&&p!=0){ pon=0; pno=''; d.paintbbs.setColors(pbase); return; } - - var ps = pals[p].split('\n'); - var n = pnum; - if(!q && df.num.value){ n = Number(df.num.value); } - if(!q && pon==1 && pno!=p){ poncheck(); } - - // 揃ってるならすぐ返す - if((pon!=1 || pno!=p) && ps.length==14){ - if(!q){ pon=1; pno=p; } - if(q!=1 && pals[p]){ d.paintbbs.setColors(pals[p]); } return; - } - - // checkしてるなら - if(pon==1 && pno==p){ - var pget = String(d.paintbbs.getColors()); -// if(pget==pals[p]){ return; } - var cs = pget.split('\n'); - ps[0] = cs[0]; ps[1] = ''; - } - // 欠けているなら - var cs = new Array(); - - var psy=0; // H°/ +S-B - psy = check_h_sb(lst); - - if(psy==1){ cs = rh_list(p,n); }// H°リスト - else{ cs = sb_list(p,n); } // +S-B リスト - - if(q){ // 初期設定時 - pals[p] = String(cs.join('\n')); - } - if(q!=1){ // 一般 - if(pon==1 && pno==p){ checkout(); } - else{ pon=1; pno=p; } -// pals[p] = String(cs.join('\n')); - d.paintbbs.setColors(String(cs.join('\n'))); - } +function rady(p, q, lst) { + var d = document; + var df = d.forms.palepale; + + // デフォルトパレット + if (!p && p != 0) { + pon = 0; + pno = ""; + d.paintbbs.setColors(pbase); + return; + } + + var ps = pals[p].split("\n"); + var n = pnum; + if (!q && df.num.value) { + n = Number(df.num.value); + } + if (!q && pon == 1 && pno != p) { + poncheck(); + } + + // 揃ってるならすぐ返す + if ((pon != 1 || pno != p) && ps.length == 14) { + if (!q) { + pon = 1; + pno = p; + } + if (q != 1 && pals[p]) { + d.paintbbs.setColors(pals[p]); + } + return; + } + + // checkしてるなら + if (pon == 1 && pno == p) { + var pget = String(d.paintbbs.getColors()); + // if(pget==pals[p]){ return; } + var cs = pget.split("\n"); + ps[0] = cs[0]; + ps[1] = ""; + } + // 欠けているなら + var cs = new Array(); + + var psy = 0; // H°/ +S-B + psy = check_h_sb(lst); + + if (psy == 1) { + cs = rh_list(p, n); + } // H°リスト + else { + cs = sb_list(p, n); + } // +S-B リスト + + if (q) { + // 初期設定時 + pals[p] = String(cs.join("\n")); + } + if (q != 1) { + // 一般 + if (pon == 1 && pno == p) { + checkout(); + } else { + pon = 1; + pno = p; + } + // pals[p] = String(cs.join('\n')); + d.paintbbs.setColors(String(cs.join("\n"))); + } } - // H°リスト -function rh_list(p,n){ - var ps = pals[p].split('\n'); - var rgb = to10rgb(ps[0]); //→RGB - var hsv = RGBtoHSB(rgb[0],rgb[1],rgb[2]); //→HSB - var cs = new Array(ps[0],ps[1]); - if(!cs[0]){ cs[0]='#ffffff'; } - if(hsv[1]!=0 && !cs[13]){ cs[13]='#ffffff'; } - - for (var i=1; i<13; i++){ - if(ps[i] && (pon!=1 || pno!=p)){ cs[i]=ps[i]; continue; } //ある - var x,y,z; - if(hsv[1]==0){ //白黒 - x = hsv[0]; - y = 0; - if(i%2==0){ z = 255-i*n; }else{ z = 0+(i-1)*n; } - }else if(i>=12){ - x = hsv[0]; - y = 0; - z = 255-hsv[1]; - }else{ - x = hsv[0] + i*255/12; - y = hsv[1]; - z = hsv[2]; - } - while(x<0){ x+=255; } if(y<0){ y=0; } if(z<0){ z=0; } //↓0 - while(x>255){ x-=255; } if(y>255){ y=255; } if(z>255){ z=255; } //↑255 -// for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } - rgb = HSBtoRGB(x,y,z); - for (var j=0; j<=2; j++){ rgb[j] = Math.round(rgb[j]); } - cs[i] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - return(cs); +function rh_list(p, n) { + var ps = pals[p].split("\n"); + var rgb = to10rgb(ps[0]); //→RGB + var hsv = RGBtoHSB(rgb[0], rgb[1], rgb[2]); //→HSB + var cs = new Array(ps[0], ps[1]); + if (!cs[0]) { + cs[0] = "#ffffff"; + } + if (hsv[1] != 0 && !cs[13]) { + cs[13] = "#ffffff"; + } + + for (var i = 1; i < 13; i++) { + if (ps[i] && (pon != 1 || pno != p)) { + cs[i] = ps[i]; + continue; + } //ある + var x, y, z; + if (hsv[1] == 0) { + //白黒 + x = hsv[0]; + y = 0; + if (i % 2 == 0) { + z = 255 - i * n; + } else { + z = 0 + (i - 1) * n; + } + } else if (i >= 12) { + x = hsv[0]; + y = 0; + z = 255 - hsv[1]; + } else { + x = hsv[0] + (i * 255) / 12; + y = hsv[1]; + z = hsv[2]; + } + while (x < 0) { + x += 255; + } + if (y < 0) { + y = 0; + } + if (z < 0) { + z = 0; + } //↓0 + while (x > 255) { + x -= 255; + } + if (y > 255) { + y = 255; + } + if (z > 255) { + z = 255; + } //↑255 + // for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } + rgb = HSBtoRGB(x, y, z); + for (var j = 0; j <= 2; j++) { + rgb[j] = Math.round(rgb[j]); + } + cs[i] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + return cs; } - // +S-B リスト -function sb_list(p,n){ - var ps = pals[p].split('\n'); - var rgb = to10rgb(ps[0]); //→RGB - var hsv = RGBtoHSB(rgb[0],rgb[1],rgb[2]); //→HSB - var cs = new Array(ps[0],ps[1]); - if(!cs[0]){ cs[0]='#ffffff'; } - if(hsv[1]==0 && !cs[1]){ cs[1]='#000000'; } - else if(!cs[1]){ cs[1]='#ffffff'; } - - for (var i=2; i<14; i++){ - if(ps[i] && (pon!=1 || pno!=p)){ cs[i]=ps[i]; continue; } //ある - var y,z; - if(hsv[1]==0){ //白黒 - y = 0; - if(i%2==0){ z = 255-i*n; }else{ z = 0+(i-1)*n; } - }else{ - if(i%2==0){ //左 - y = hsv[1]+i*n; - z = hsv[2]; - }else{ //右 - y = hsv[1]+(i-1)*n; - z = hsv[2]-(i-1)*n; - } - } - while(z<0){ z+=255; } while(y<0){ y+=255; } //↓0 - while(z>255){ z-=255; } while(y>255){ y-=255; } //↑255 -// for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } - rgb = HSBtoRGB(hsv[0],y,z); - for (var j=0; j<=2; j++){ rgb[j] = Math.round(rgb[j]); } - cs[i] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - return(cs); +function sb_list(p, n) { + var ps = pals[p].split("\n"); + var rgb = to10rgb(ps[0]); //→RGB + var hsv = RGBtoHSB(rgb[0], rgb[1], rgb[2]); //→HSB + var cs = new Array(ps[0], ps[1]); + if (!cs[0]) { + cs[0] = "#ffffff"; + } + if (hsv[1] == 0 && !cs[1]) { + cs[1] = "#000000"; + } else if (!cs[1]) { + cs[1] = "#ffffff"; + } + + for (var i = 2; i < 14; i++) { + if (ps[i] && (pon != 1 || pno != p)) { + cs[i] = ps[i]; + continue; + } //ある + var y, z; + if (hsv[1] == 0) { + //白黒 + y = 0; + if (i % 2 == 0) { + z = 255 - i * n; + } else { + z = 0 + (i - 1) * n; + } + } else { + if (i % 2 == 0) { + //左 + y = hsv[1] + i * n; + z = hsv[2]; + } else { + //右 + y = hsv[1] + (i - 1) * n; + z = hsv[2] - (i - 1) * n; + } + } + while (z < 0) { + z += 255; + } + while (y < 0) { + y += 255; + } //↓0 + while (z > 255) { + z -= 255; + } + while (y > 255) { + y -= 255; + } //↑255 + // for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } + rgb = HSBtoRGB(hsv[0], y, z); + for (var j = 0; j <= 2; j++) { + rgb[j] = Math.round(rgb[j]); + } + cs[i] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + return cs; } - // 個別でH/S/Bをリストアップ -function onplus(p,m){ - var d = document; - var df = d.forms.palepale; - var n = Number(df.num.value); //+- - if(pon==1 && pno==p){ poncheck(); } - - // 連続のとき - if(m>0 && n*(qon+1)>38){ qon=0; } - if(qno==p && qmo==m && qon>=1){ qon++; n*=(qon+1)/2; } - else{ qno=p; qmo=m; qon=1; } - - var ps = pals[p].split('\n'); - var rgb = to10rgb(ps[0]); //→RGB - var hsv = RGBtoHSB(rgb[0],rgb[1],rgb[2]); //→HSB - var cs = new Array(); - if(m==2){ n*=-1; } - for (var i=0; i<14; i++){ - var z; - if(m==0){ z = hsv[m]+((i%2)*2-1)*Math.round(Math.floor(i/2)*(n)); } - else{ z = hsv[m]+i*n; } - while(z<0){ z+=255; } //↓0 - while(z>255){ z-=255; } //↑255 -// for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } - if(m==1){ rgb = HSBtoRGB(hsv[0],z,hsv[2]); } //→HSB - else if(m==2){ rgb = HSBtoRGB(hsv[0],hsv[1],z); } - else{ rgb = HSBtoRGB(z,hsv[1],hsv[2]); } //→HSB - for (var j=0; j<=2; j++){ rgb[j] = Math.round(rgb[j]); } - cs[i] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - checkout(1); - d.paintbbs.setColors(String(cs.join('\n'))); +function onplus(p, m) { + var d = document; + var df = d.forms.palepale; + var n = Number(df.num.value); //+- + if (pon == 1 && pno == p) { + poncheck(); + } + + // 連続のとき + if (m > 0 && n * (qon + 1) > 38) { + qon = 0; + } + if (qno == p && qmo == m && qon >= 1) { + qon++; + n *= (qon + 1) / 2; + } else { + qno = p; + qmo = m; + qon = 1; + } + + var ps = pals[p].split("\n"); + var rgb = to10rgb(ps[0]); //→RGB + var hsv = RGBtoHSB(rgb[0], rgb[1], rgb[2]); //→HSB + var cs = new Array(); + if (m == 2) { + n *= -1; + } + for (var i = 0; i < 14; i++) { + var z; + if (m == 0) { + z = hsv[m] + ((i % 2) * 2 - 1) * Math.round(Math.floor(i / 2) * n); + } else { + z = hsv[m] + i * n; + } + while (z < 0) { + z += 255; + } //↓0 + while (z > 255) { + z -= 255; + } //↑255 + // for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } + if (m == 1) { + rgb = HSBtoRGB(hsv[0], z, hsv[2]); + } //→HSB + else if (m == 2) { + rgb = HSBtoRGB(hsv[0], hsv[1], z); + } else { + rgb = HSBtoRGB(z, hsv[1], hsv[2]); + } //→HSB + for (var j = 0; j <= 2; j++) { + rgb[j] = Math.round(rgb[j]); + } + cs[i] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + checkout(1); + d.paintbbs.setColors(String(cs.join("\n"))); } - // 全体のH/S/Bをプラスマイナス -function alplus(m,n){ - var d = document; - var cs = String(d.paintbbs.getColors()).split('\n'); - n *= Number(d.forms.palepale.num.value); //+- - poncheck(); - - for (var i=0; i0 && hsv[2]>=255){ - hsv[1] -= n; - if(hsv[1]<0){ hsv[1]=0; }else if(hsv[1]>255){ hsv[1]=255; } //↓0 or ↑255 - } - hsv[m] += n; - //↓0 ↑255 - if(m==0){ - if(hsv[0]<0){ hsv[0]+=255; }else if(hsv[0]>255){ hsv[0]-=255; } - }else{ - if(hsv[m]<0){ hsv[m]=0; }else if(hsv[m]>255){ hsv[m]=255; } - } -// for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } - rgb = HSBtoRGB(hsv[0],hsv[1],hsv[2]); //→HSB - for (var j=0; j<=2; j++){ rgb[j] = Math.round(rgb[j]); } - cs[i] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - checkout(); - d.paintbbs.setColors(String(cs.join('\n'))); +function alplus(m, n) { + var d = document; + var cs = String(d.paintbbs.getColors()).split("\n"); + n *= Number(d.forms.palepale.num.value); //+- + poncheck(); + + for (var i = 0; i < cs.length; i++) { + var rgb = to10rgb(cs[i]); //→RGB + var hsv = RGBtoHSB(rgb[0], rgb[1], rgb[2]); //→HSB + //↑明度255のとき彩度減 + if (m == 2 && n > 0 && hsv[2] >= 255) { + hsv[1] -= n; + if (hsv[1] < 0) { + hsv[1] = 0; + } else if (hsv[1] > 255) { + hsv[1] = 255; + } //↓0 or ↑255 + } + hsv[m] += n; + //↓0 ↑255 + if (m == 0) { + if (hsv[0] < 0) { + hsv[0] += 255; + } else if (hsv[0] > 255) { + hsv[0] -= 255; + } + } else { + if (hsv[m] < 0) { + hsv[m] = 0; + } else if (hsv[m] > 255) { + hsv[m] = 255; + } + } + // for (var j=0; j<=2; j++){ hsv[j] = Math.round(hsv[j]); } + rgb = HSBtoRGB(hsv[0], hsv[1], hsv[2]); //→HSB + for (var j = 0; j <= 2; j++) { + rgb[j] = Math.round(rgb[j]); + } + cs[i] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + checkout(); + d.paintbbs.setColors(String(cs.join("\n"))); } - // 全体のRGBをプラスマイナス -function alrgb(n){ - var d = document; - var cs = String(d.paintbbs.getColors()).split('\n'); - n *= Number(d.forms.palepale.num.value); //+- - poncheck(); - - for (var i=0; i255){ rgb[j]=255; } //↑255 - } - cs[i] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - checkout(); - d.paintbbs.setColors(String(cs.join('\n'))); +function alrgb(n) { + var d = document; + var cs = String(d.paintbbs.getColors()).split("\n"); + n *= Number(d.forms.palepale.num.value); //+- + poncheck(); + + for (var i = 0; i < cs.length; i++) { + var rgb = to10rgb(cs[i]); //→RGB + for (var j = 0; j <= 2; j++) { + rgb[j] += n; + rgb[j] = Math.round(rgb[j]); + if (rgb[j] < 0) { + rgb[j] = 0; + } //↓0 + if (rgb[j] > 255) { + rgb[j] = 255; + } //↑255 + } + cs[i] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + checkout(); + d.paintbbs.setColors(String(cs.join("\n"))); } - // グラデーション -function grady(m){ - var d = document; - var df = d.forms.palepale; - var n = 2; - if(df.gradc){ - for(var j=0; jm*hsvq[j]){ sa = Math.abs(sa) - 255/(q-p); } - hsv[0] = hsvp[0] + m*Math.abs(sa)*(k-p); - if(hsv[0]<0){ hsv[0]+=255; }else if(hsv[0]>255){ hsv[0]-=255; } - }else{ // S,B - hsv[j] = hsvp[j] - sa*(k-p); - if(hsv[j]<0){ hsv[j]=0; }else if(hsv[j]>255){ hsv[j]=255; } - } - } - rgb = HSBtoRGB(hsv[0],hsv[1],hsv[2]); //→HSB - for (var j=0; j<=2; j++){ rgb[j] = Math.round(rgb[j]); } - // RGB - }else{ - for (var j=0; j<=2; j++){ // RGB - var sa = (rgbp[j]-rgbq[j])/(q-p); - rgb[j] = Math.round(rgbp[j] - sa*(k-p)); - if(rgb[j]<0){ rgb[j]=0; }else if(rgb[j]>255){ rgb[j]=255; } //↑↓ - } - } - cs[k] = '#'+format16(rgb[0])+format16(rgb[1])+format16(rgb[2]); - } - } - cs[0]=cs[1]; cs[1]='#ffffff'; - checkout(); - d.paintbbs.setColors(String(cs.join('\n'))); +function grady(m) { + var d = document; + var df = d.forms.palepale; + var n = 2; + if (df.gradc) { + for (var j = 0; j < df.gradc.length; j++) { + if (df.gradc[j].checked == true) { + n = Number(df.gradc[j].value); + break; + } + } + } + var cs = String(d.paintbbs.getColors()).split("\n"); + var gs = new Array(1, 13); + if (n == 3) { + gs = new Array(1, 7, 13); + } else if (n == 4) { + gs = new Array(1, 5, 9, 13); + } + poncheck(); + cs[1] = cs[0]; + + // 2〜4色 + for (var i = 0; i < gs.length - 1; i++) { + var p = gs[i]; + var q = gs[i + 1]; + var rgbp = to10rgb(cs[p]); //→RGB + var rgbq = to10rgb(cs[q]); //→RGB2 + // HSB + var hsvp = new Array(); + var hsvq = new Array(); + if (m == 1 || m == -1) { + hsvp = RGBtoHSB(rgbp[0], rgbp[1], rgbp[2]); //→HSB + hsvq = RGBtoHSB(rgbq[0], rgbq[1], rgbq[2]); //→HSB + } + // パレットの色 + for (var k = p + 1; k < q; k++) { + var rgb = new Array(); + // HSB + if (m == 1 || m == -1) { + var hsv = new Array(); + for (var j = 0; j <= 2; j++) { + // RGB + var sa = (hsvp[j] - hsvq[j]) / (q - p); + if (j == 0) { + // H + if (m * hsvp[j] > m * hsvq[j]) { + sa = Math.abs(sa) - 255 / (q - p); + } + hsv[0] = hsvp[0] + m * Math.abs(sa) * (k - p); + if (hsv[0] < 0) { + hsv[0] += 255; + } else if (hsv[0] > 255) { + hsv[0] -= 255; + } + } else { + // S,B + hsv[j] = hsvp[j] - sa * (k - p); + if (hsv[j] < 0) { + hsv[j] = 0; + } else if (hsv[j] > 255) { + hsv[j] = 255; + } + } + } + rgb = HSBtoRGB(hsv[0], hsv[1], hsv[2]); //→HSB + for (var j = 0; j <= 2; j++) { + rgb[j] = Math.round(rgb[j]); + } + // RGB + } else { + for (var j = 0; j <= 2; j++) { + // RGB + var sa = (rgbp[j] - rgbq[j]) / (q - p); + rgb[j] = Math.round(rgbp[j] - sa * (k - p)); + if (rgb[j] < 0) { + rgb[j] = 0; + } else if (rgb[j] > 255) { + rgb[j] = 255; + } //↑↓ + } + } + cs[k] = "#" + format16(rgb[0]) + format16(rgb[1]) + format16(rgb[2]); + } + } + cs[0] = cs[1]; + cs[1] = "#ffffff"; + checkout(); + d.paintbbs.setColors(String(cs.join("\n"))); } - // ------------------------------------------------------------------------- // パレットのサンプルカラー -function csamp(p,pz,lst){ - var ss=''; - var ps = pz.split('\n'); - var slong = sams.length; - var psy = check_h_sb(lst); if(psy==1){ slong = samx.length; } - // color-sample - for (var i=0; i'+selfv[1]+''; - } - return ss; +function csamp(p, pz, lst) { + var ss = ""; + var ps = pz.split("\n"); + var slong = sams.length; + var psy = check_h_sb(lst); + if (psy == 1) { + slong = samx.length; + } + // color-sample + for (var i = 0; i < slong; i++) { + // color-title + var k, + cl = "", + rgb = "", + hsv = "", + ctl = ""; + if (psy == 1) { + k = samx[i]; + } else { + k = sams[i]; + } + if (ps[k]) { + rgb = to10rgb(ps[k]); //→RGB + hsv = RGBtoHSB(rgb[0], rgb[1], rgb[2]); //→HSB + for (var j = 0; j <= 2; j++) { + hsv[j] = Math.round(hsv[j]); + } + ctl = "HSB: " + hsv[0] + "," + hsv[1] + "," + hsv[2] + "\n"; + ctl += + "RGB: " + rgb[0] + "," + rgb[1] + "," + rgb[2] + "\nRGB16: " + ps[k]; + } + if (selfv[2]) cl = selfv[2].replace(/\$FONT/i, ps[k]); + if (selfv[1]) + ss += + '' + + selfv[1] + + ""; + } + return ss; } - // パレットのリスト -function palette_list(lst){ - var d = document; - var ds = ''; - for (var p=0; p'+samw+''; - if(selfv[5]) ds+=inp+'onclick="onplus('+p+',0)" '+selfv[5]; - if(selfv[6]) ds+=inp+'onclick="onplus('+p+',1)" '+selfv[6]; - if(selfv[7]) ds+=inp+'onclick="onplus('+p+',2)" '+selfv[7]; - if(selfv[8]) ds+=inp+'onclick="savy('+p+')" '+selfv[8]; - if(selfv[9]) ds+=inp+'onclick="defy('+p+')" '+selfv[9]; - } - return ds; +function palette_list(lst) { + var d = document; + var ds = ""; + for (var p = 0; p < pals.length; p++) { + if (!pals[p]) { + continue; + } + var samw = csamp(p, pals[p], lst); //サンプル + + // element + if (selfv[4]) + ds += + inr + + 'name="rad" value="' + + p + + '" onclick="rady(' + + p + + ')" ' + + selfv[4] + + samw + + "\n"; + // ds+=''+samw+''; + if (selfv[5]) ds += inp + 'onclick="onplus(' + p + ',0)" ' + selfv[5]; + if (selfv[6]) ds += inp + 'onclick="onplus(' + p + ',1)" ' + selfv[6]; + if (selfv[7]) ds += inp + 'onclick="onplus(' + p + ',2)" ' + selfv[7]; + if (selfv[8]) ds += inp + 'onclick="savy(' + p + ')" ' + selfv[8]; + if (selfv[9]) ds += inp + 'onclick="defy(' + p + ')" ' + selfv[9]; + } + return ds; } - // チェックをつける、フォントカラーのサンプルを変更 -function checkin(p,not){ - qno=''; qmo=''; qon=0; - if(!pals[p]){ return; } - var d = document; - // font-color - var ps = pals[p].split('\n'); - var slong = sams.length; - var psy = check_h_sb(); if(psy==1){ slong = samx.length; } - // color-sample - for (var i=0; i=plong){ - var k=0; - var pds = new Array(); pds = pals; - pals = new Array(); - for(var j=0; j= plong) { + var k = 0; + var pds = new Array(); + pds = pals; + pals = new Array(); + for (var j = 0; j < pds.length; j++) { + if (p != j && pds[j]) { + pals[k] = pds[j]; + k++; + } + } + } + + if (brwz == 1 && d.all("palelist").innerHTML) { + d.all("palelist").innerHTML = palette_list(); + } else if (brwz == 2 && d.getElementById("palelist").innerHTML) { + d.getElementById("palelist").innerHTML = palette_list(); + } + checkout(); } - // パレットデフォルト -function def_list(){ - var okd = confirm("全体のパレットをデフォルトに戻します。\nよろしいですか?"); - if(!okd){ return; } - var d = document; - var df = d.forms.palepale; - pals = new Array(); - var psy = 0; - var plong = pdefs.length; - if(check_h_sb()==1){ psy=1; plong = pdefx.length; } - for (var p=0; p0){ n = Math.floor(m/10 + n)*10; } - if(n<0){ n=0; }else if(n<5){ n=5; }else if(n>100){ n=100; } - df.tone.value = n; - tone_sel(n); +function tone_plus(n) { + var df = document.forms.palepale; + var m = Number(df.tone.value); + if (m > 0) { + n = Math.floor(m / 10 + n) * 10; + } + if (n < 0) { + n = 0; + } else if (n < 5) { + n = 5; + } else if (n > 100) { + n = 100; + } + df.tone.value = n; + tone_sel(n); } - // トーンセレクト -function tone_sel(t){ - var dp=document.paintbbs; - t = Number(t); - if(t==0){ dp.getInfo().m.iTT = 0; } - else{ dp.getInfo().m.iTT = Math.floor(t/10)+1; } +function tone_sel(t) { + var dp = document.paintbbs; + t = Number(t); + if (t == 0) { + dp.getInfo().m.iTT = 0; + } else { + dp.getInfo().m.iTT = Math.floor(t / 10) + 1; + } } - // ------------------------------------------------------------------------- // document.write -function palette_selfy(){ - var d = document; - var df = document.forms.palepale; - var pzs=palette_selfy.arguments; //パレット指定があったとき - - // browzer - if(brwz!=1 && brwz!=2){ return; } - - // パレットとパレットクッキー - var plong = pdefs.length; - if(psx==1){ plong = pdefx.length; } - for (var p=0; p=1){ var ok=0; //? - for (var q=0; q +-'); - d.write(''); - d.write(inp+'value="-" onclick="num_plus(-1)">\n'); - } - // パレットリスト - if(pdefs||pdefx) d.write('
\n'+palette_list(1)+'
\n'); - - // 全体の HSB、RGB +- - if(selfytag[1]) d.write(selfytag[1]); - if(selfv[10]) d.write(inp+'onclick="alplus(0,1)" ' +selfv[10]); - if(selfv[12]) d.write(inp+'onclick="alplus(1,1)" ' +selfv[12]); - if(selfv[14]) d.write(inp+'onclick="alplus(2,1)" ' +selfv[14]); - if(selfv[16]) d.write(inp+'onclick="alrgb(1)" ' +selfv[16]); - if(selfv[11]) d.write(inp+'onclick="alplus(0,-1)" '+selfv[11]); - if(selfv[13]) d.write(inp+'onclick="alplus(1,-1)" '+selfv[13]); - if(selfv[15]) d.write(inp+'onclick="alplus(2,-1)" '+selfv[15]); - if(selfv[17]) d.write(inp+'onclick="alrgb(-1)" ' +selfv[17]); - - // トーンセレクト - if(selfv[0]){ - d.write('Tone '); - d.write(inp+'value="+" onclick="tone_plus(1)">'); - d.write(inp+'value="-" onclick="tone_plus(-1)">\n'); - } - - // GRADATION - if(selfytag[2]) d.write(selfytag[2]); - if(selfv[18]) d.write(inr+'name="gradc" value="2" '+selfv[18]); //18 - if(selfv[19]) d.write(inr+'name="gradc" value="3" '+selfv[19]); //19 - if(selfv[20]) d.write(inr+'name="gradc" value="4" '+selfv[20]); //20 - if(selfv[21]) d.write(inp+'onclick="grady(0)" ' +selfv[21]); //21 - if(selfv[22]) d.write(inp+'onclick="grady(1)" ' +selfv[22]); //22 - if(selfv[23]) d.write(inp+'onclick="grady(-1)" ' +selfv[23]); //23 - - // 追加・削除 - if(selfytag[3]) d.write(selfytag[3]); - if(selfv[24]) d.write(inp+'onclick="plusy()" ' +selfv[24]); //24 - if(selfv[25]) d.write(inp+'onclick="minsy()" ' +selfv[25]); //25 - - // セーブ・オートセーブ - if(selfytag[4]) d.write(selfytag[4]); - if(selfv[26]) d.write('= 1) { + var ok = 0; //? + for (var q = 0; q < pzs.length; q++) { + if (p == pzs[q]) { + ok = 1; + break; + } + } + if (ok != 1) { + pals[p] = ""; + } + } + } + pcookget(); // cookie-get + psx_ch[psx] = "checked "; + for (var p = 0; p < pals.length; p++) { + if (pals[p]) { + rady(p, 1, 1); + } + } + + // basic + d.write(selfytag[0]); + if (selfv[3]) + d.write(inr + 'name="rad" value="-1" onclick="rady()" ' + selfv[3]); + if (pbase) d.write(csamp(-1, pbase, 1)); + + // +-する数 + if (selfv[0]) { + d.write("\n +-"); + d.write(''); + d.write(inp + 'value="-" onclick="num_plus(-1)">\n'); + } + // パレットリスト + if (pdefs || pdefx) + d.write('
\n' + palette_list(1) + "
\n"); + + // 全体の HSB、RGB +- + if (selfytag[1]) d.write(selfytag[1]); + if (selfv[10]) d.write(inp + 'onclick="alplus(0,1)" ' + selfv[10]); + if (selfv[12]) d.write(inp + 'onclick="alplus(1,1)" ' + selfv[12]); + if (selfv[14]) d.write(inp + 'onclick="alplus(2,1)" ' + selfv[14]); + if (selfv[16]) d.write(inp + 'onclick="alrgb(1)" ' + selfv[16]); + if (selfv[11]) d.write(inp + 'onclick="alplus(0,-1)" ' + selfv[11]); + if (selfv[13]) d.write(inp + 'onclick="alplus(1,-1)" ' + selfv[13]); + if (selfv[15]) d.write(inp + 'onclick="alplus(2,-1)" ' + selfv[15]); + if (selfv[17]) d.write(inp + 'onclick="alrgb(-1)" ' + selfv[17]); + + // トーンセレクト + if (selfv[0]) { + d.write('Tone "); + d.write(inp + 'value="+" onclick="tone_plus(1)">'); + d.write(inp + 'value="-" onclick="tone_plus(-1)">\n'); + } + + // GRADATION + if (selfytag[2]) d.write(selfytag[2]); + if (selfv[18]) d.write(inr + 'name="gradc" value="2" ' + selfv[18]); //18 + if (selfv[19]) d.write(inr + 'name="gradc" value="3" ' + selfv[19]); //19 + if (selfv[20]) d.write(inr + 'name="gradc" value="4" ' + selfv[20]); //20 + if (selfv[21]) d.write(inp + 'onclick="grady(0)" ' + selfv[21]); //21 + if (selfv[22]) d.write(inp + 'onclick="grady(1)" ' + selfv[22]); //22 + if (selfv[23]) d.write(inp + 'onclick="grady(-1)" ' + selfv[23]); //23 + + // 追加・削除 + if (selfytag[3]) d.write(selfytag[3]); + if (selfv[24]) d.write(inp + 'onclick="plusy()" ' + selfv[24]); //24 + if (selfv[25]) d.write(inp + 'onclick="minsy()" ' + selfv[25]); //25 + + // セーブ・オートセーブ + if (selfytag[4]) d.write(selfytag[4]); + if (selfv[26]) + d.write('