|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290 |
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- //
- // 【 カラーパレットPOPアップ 】 http://www.cman.jp
- //
- // 商用,改変,再配布はすべて自由ですですが、動作保証はありません
- //
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- // maintenance history
- //
- // Ver Date contents
- // 1.0 2015/7/15 New
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- //
- // 使用方法
- // htmlのタグに以下の設定をしてください
- //
- // 「 onclick="cmanCP_JS_open(this)" cmanCPat="rc_text:id001,下記URL参照"> 」
- //
- //
- // 【注意】
- // 引数やユーザ設定内容についてはノーチェックです
- // 解析しやすいようにコメントを多く入れています。
- // JavaScriptのファイルサイズを削減する場合は、コメントやスペースを消してください。
- //
- //
- // 詳細は以下でご確認ください
- // https://web-designer.cman.jp/javascript_ref/color/palette/
- //
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-
-
- var cmanCP_VAR = {};
-
- // =========================================================================================
- // カラーパレットの作成
- // =========================================================================================
- function cmanCP_JS_open(argThis){
-
- // カラーリスト一覧
- var wColorList =[ '#ffffff','#cccccc','#a6a6a6','#7f7f7f','#595959','#333333','#000000',
- '#ff9999','#ff4d4d','#ff0000','#b30000','#660000',
- '#ffcc99','#ffa64d','#ff7f00','#b35900','#663300',
- '#ffff99','#ffff4d','#ffff00','#b3b300','#666600',
- '#ccff99','#a6ff4d','#7fff00','#59b300','#336600',
- '#99ff99','#4dff4d','#00ff00','#00b300','#006600',
- '#99ffcc','#4dffa6','#00ff7f','#00b359','#006633',
- '#99ffff','#4dffff','#00ffff','#00b3b3','#006666',
- '#99ccff','#4da6ff','#007fff','#0059b3','#003366',
- '#9999ff','#4d4dff','#0000ff','#0000b3','#000066',
- '#cc99ff','#a64dff','#7f00ff','#5900b3','#330066',
- '#ff99ff','#ff4dff','#ff00ff','#b300b3','#660066',
- '#ff99cc','#ff4da6','#ff007f','#b30059','#660033'
- ];
-
- cmanCP_VAR["popId"] = 'cmanCP_POP'; // POP枠のID
-
- var wRGB_List = [ 'R', 'G', 'B' ];
- var wRGB_TitleJP = [ '赤み', '緑み', '青み' ];
- var wRGB_TitleEn = [ 'red', 'green', 'blue' ];
-
- var wHSL_List = [ 'H', 'S', 'L' ];
- var wHSL_TitleJP = [ '色相', '彩度', '輝度' ];
- var wHSL_Max = [ '359', '1', '1' ];
- var wHSL_Step = [ '1', '0.001', '0.001' ];
-
- var wA_TitleJP = '不透明度';
-
-
- // ----- 属性取得 ------------------------------------------------------------
- var wAttr = argThis.getAttribute("cmanCPat").split(",");
-
- for(var i=0; i<wAttr.length; i++){
-
- if(wAttr[i] != ""){
-
- var wAttrItem = wAttr[i].split(":");
-
- wAttrItem[0] = cmanCP_JS_zen_TO_han(wAttrItem[0]).toLowerCase();
- wAttrItem[1] = cmanCP_JS_zen_TO_han(wAttrItem[1]);
-
- switch (wAttrItem[0]){
- case 'def_size' :
- case 'def_color':
- case 'def_tab' :
- case 'def_alpha':
- case 'rc_form' :
- case 'rc_func' :
- cmanCP_VAR[wAttrItem[0]] = wAttrItem[1];
- break;
-
- case 'rc_text' :
- case 'rc_bg' :
- if(cmanCP_VAR[wAttrItem[0]] != ''){
- cmanCP_VAR[wAttrItem[0]] += ',' + wAttrItem[1];
- }else{
- cmanCP_VAR[wAttrItem[0]] = wAttrItem[1];
- }
- break;
- }
-
- }
-
- }
-
-
- // ----- CSS定義 ------------------------------------------------------------
- var wCss = '<style type="text/css">';
- wCss += '.cmanCP_CSS_ALL{' +
- 'font-family:"Osaka?等幅","MS ゴシック","monospace";' +
- 'font-size: 10pt;' +
- 'color: #333;' +
- 'padding: 0;' +
- 'background-color: #fff;' +
- 'border: 1px solid #666;' +
- 'box-shadow: 10px 10px 10px rgba(0,0,0,0.4);' +
- '}';
- wCss += '.cmanCP_CSS_CL{' +
- 'cursor: pointer;' +
- 'width: 19px;' +
- 'height: 19px;' +
- 'margin: 1px;' +
- 'float: left; ' +
- 'border: 1px solid #ccc;' +
- '}';
- wCss += '.cmanCP_CSS_CL:hover{' +
- 'box-shadow: none;' +
- '}';
- wCss += '.cmanCP_CSS_select{' +
- 'cursor: pointer;' +
- 'box-shadow: 3px 3px 2px rgba(0,0,0,0.5);' +
- '}';
- wCss += '.cmanCP_CSS_select:hover{' +
- 'box-shadow: none;' +
- '}';
- wCss += '.cmanCP_CSS_Tbl{' +
- 'background-color: #fff;' +
- 'border-collapse: collapse;' +
- 'color: #333333;' +
- '}';
- wCss += '.cmanCP_CSS_Tbl td{' +
- 'border: 1px #999 solid;' +
- 'padding: 8px 2px;' +
- 'letter-spacing: 1px;' +
- 'font-size:9pt;' +
- 'text-align: center;' +
- '}';
- wCss += '.cmanCP_CSS_Tab {' +
- 'cursor: pointer;' +
- 'float: left;' +
- 'width: 88px;' +
- 'font-weight:bold;' +
- 'text-align: center;' +
- 'padding-top: 5px;' +
- 'padding-bottom: 5px;' +
- 'border-left: 1px solid #999;' +
- 'border-top: 1px solid #999;' +
- 'border-right: 1px solid #999;' +
- 'border-top-left-radius: 6px;' +
- 'border-top-right-radius: 6px;' +
- '-webkit-border-top-left-radius: 6px;' +
- '-webkit-border-top-right-radius: 6px;' +
- '-moz-border-radius-topleft: 6px;' +
- '-moz-border-radius-topright: 6px;' +
- '}';
- wCss += '.cmanCP_CSS_TabS {' +
- 'color: #fff;' +
- 'background-color: #999;' +
- '}';
- wCss += '.cmanCP_CSS_TabN {' +
- 'color: #666;' +
- 'background-color: #ddd;' +
- '}';
- wCss += '.cmanCP_CSS_TabN:hover {' +
- 'color: #0063dc;' +
- '}';
- wCss += '#'+cmanCP_VAR["popId"]+' input[type="text"],input[type="number"]{' +
- 'width: 100%;' +
- 'max-width: 75px;' +
- 'height: 20px;' +
- 'font-weight :bold;' +
- 'color: #333333;' +
- 'vertical-align: middle;' +
- 'text-align: center;' +
- 'letter-spacing: 1px;' +
- 'ime-mode: disabled;' +
- 'border: 1px #cccccc solid;' +
- 'background-color: #EEFFFF;' +
- 'text-align: center;' +
- '}';
- wCss += '#'+cmanCP_VAR["popId"]+' input[type="range"]{' +
- 'width: 96%;' +
- 'height: 20px;' +
- '}';
- wCss += '.cmanCP_CSS_range{' +
- 'padding: 0;' +
- '}';
- wCss += '.cmanCP_CSS_Gaid{' +
- 'margin-left: auto;' +
- 'margin-right: auto;' +
- 'width: 96%;' +
- 'height: 5px;' +
- '}';
- wCss += '.cmanCP_CSS_GaidHSL{' +
- 'float: left;' +
- 'width: 5%;' +
- 'height: 5px;' +
- '}';
- wCss += '.cmanCP_CSS_sbg0{' +
- 'background-color: #fff;' +
- 'height: 12px;' +
- '}';
- wCss += '.cmanCP_CSS_sbg1{' +
- 'background-color: #ddd;' +
- 'height: 12px;' +
- '}';
- wCss += '</style>';
-
-
- // ----- HTML定義 ------------------------------------------------------------
- var wHtml = '';
-
- // ----- 表題 -----
- wHtml += '<div>' +
- '<div style="position: absolute; top:2px; left:2px;width: 18px;height: 18px;margin-right:3px;margin-left: auto;background-color: #ccc;cursor: pointer;" onclick="cmanCP_JS_close();">' +
- '<svg viewBox="0 0 14 14">' +
- '<path stroke="#666" stroke-width="2" fill="none" d="M 3 3 L 11 11 , M 3 11 L 11 3">' +
- '</svg>' +
- '</div>' +
- '<div style="text-align: center;padding: 2px 10px;font-weight:bold;color: #666;background-color: #eee;border-bottom: 1px solid #999;cursor: pointer;" id="cmanCP_ID_title">' +
- '色を選んでね♥' +
- '</div>' +
- '</div>';
-
- // ----- サンプル&カラーリスト -----
- wHtml += '<div style="margin: 10px 0;clear: both;">' +
- '<table style="width: 100%;border:0px;border-spacing: 0;letter-spacing:0;padding:0;">' +
- '<tr>' +
- '<td>' +
- '<div class="cmanCP_CSS_select" style="margin:0 10px 5px 10px;" onclick="cmanCP_JS_select()">' +
- '<div style="width: 90px;height: 52px;padding:2px;position: relative;overflow:hidden;">' +
- '<table style="width: 100%;border:0px;border-spacing: 0;letter-spacing:0;padding:0;">' +
- '<tr><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td></tr>' +
- '<tr><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td></tr>' +
- '<tr><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td></tr>' +
- '<tr><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td></tr>' +
- '<tr><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td><td class="cmanCP_CSS_sbg0"></td><td class="cmanCP_CSS_sbg1"></td></tr>' +
- '</table>' +
- '<div style="position: absolute; top:0px; left:0px;width: 90px;height: 52px;border: 2px solid #ccc;margin: 0 auto 0 auto;" id="cmanCP_ID_sample">' +
- '</div>' +
- '</div>' +
- '</div>' +
- '<div class="cmanCP_CSS_select" style="width: 90px;border: 1px solid #999;font-size:80%;margin: 0 auto;text-align: center;padding-top:2px;padding-bottom:2px;" onclick="cmanCP_JS_select()">この色を選択</div>' +
- '</td>' +
- '<td style="text-align: right;line-height: 0;padding-left: 5px;">';
-
- for(var i=0; i<wColorList.length; i++){
- wHtml += '<div onclick="cmanCP_JS_csel(this)" style="background-color:'+wColorList[i]+'" class="cmanCP_CSS_CL"> </div>'; // 選択カラーリスト
- }
-
- wHtml += '</td>' +
- '</tr>' +
- '</table>' +
- '</div>';
-
- // ----- 色の文字列表示 -----
- wHtml += '<div style="clear: both;margin: 5px 5px 10px 5px;padding:5px;font-size: 110%;border: 1px solid #999;font-weight:bold;text-align: left;" id="cmanCP_ID_outstr">';
- wHtml += '</div>';
-
- // ----- レンジバー -----
- wHtml += '<!-- -->';
- wHtml += '<div style="margin: 5px 5px 0 5px;">';
- wHtml += '<!-- タブ -->';
- wHtml += '<div class="cmanCP_CSS_Tab cmanCP_CSS_TabN" id="cmanCP_ID_tab_RGB16" onclick="cmanCP_JS_tanCng(\'RGB16\');">RGB(16)</div>';
- wHtml += '<div class="cmanCP_CSS_Tab cmanCP_CSS_TabN" id="cmanCP_ID_tab_RGB" style="margin-left: 5px;" onclick="cmanCP_JS_tanCng(\'RGB\');">RGB(255)</div>';
- wHtml += '<div class="cmanCP_CSS_Tab cmanCP_CSS_TabN" id="cmanCP_ID_tab_HSL" style="margin-left: 5px;" onclick="cmanCP_JS_tanCng(\'HSL\');">HSL</div>';
- wHtml += '<!-- カラーレンジ -->';
- wHtml += '<div style="clear: both;border: 3px solid #999">';
- wHtml += '<table border="0" cellspacing="0" class="cmanCP_CSS_Tbl" style="width: 100%;margin-top:0;">';
- wHtml += '<colgroup span="1" style="width:15%;"></colgroup>';
- wHtml += '<colgroup span="1" style="width:25%;"></colgroup>';
- wHtml += '<colgroup span="1" style="width:60%;"></colgroup>';
- wHtml += '<tbody>';
- wHtml += '<!-- RGB -->';
-
- // --- RGB ---
- for(var i=0; i<=2; i++){
- wHtml += '<tr id="cmanCP_ID_aRGB_'+wRGB_List[i]+'">';
- wHtml += '<td>'+wRGB_TitleJP[i]+'</td>';
- wHtml += '<td>';
- wHtml += '<input type="number" min="0" max="255" step="1" maxlength="3" id="cmanCP_ID_t'+wRGB_List[i]+'" onchange="cmanCP_JS_textCng(\'RGB\')" onInput="cmanCP_JS_textCng(\'RGB\')">';
- wHtml += '<input type="text" maxlength="2" id="cmanCP_ID_t'+wRGB_List[i]+'16" onchange="cmanCP_JS_textCng(\'RGB16\')" onInput="cmanCP_JS_textCng(\'RGB16\')">';
- wHtml += '</td>';
- wHtml += '<td style="line-height: 1em;">';
- wHtml += '<input type="range" min="0" max="255" step="1" class="cmanCP_CSS_range" id="cmanCP_ID_r'+wRGB_List[i]+'" onchange="cmanCP_JS_rangeCng(\'RGB\')" onInput="cmanCP_JS_rangeCng(\'RGB\')">';
- wHtml += '<div class="cmanCP_CSS_Gaid" style="background: linear-gradient(to right, #fff, '+wRGB_TitleEn[i]+');"></div>';
- wHtml += '</td>';
- wHtml += '</tr>';
- }
-
- // --- HSL ---
- for(var i=0; i<=2; i++){
- wHtml += '<tr id="cmanCP_ID_aHSL_'+wHSL_List[i]+'">';
- wHtml += '<td>'+wHSL_TitleJP[i]+'</td>';
- wHtml += '<td>';
- wHtml += '<input type="number" min="0" max="'+wHSL_Max[i]+'" step="'+wHSL_Step[i]+'" maxlength="3" id="cmanCP_ID_t'+wHSL_List[i]+'" onchange="cmanCP_JS_textCng(\'HSL\')" onInput="cmanCP_JS_textCng(\'HSL\')">';
- wHtml += '</td>';
- wHtml += '<td style="line-height: 1em;">';
- wHtml += '<input type="range" min="0" max="'+wHSL_Max[i]+'" step="'+wHSL_Step[i]+'" class="cmanCP_CSS_range" id="cmanCP_ID_r'+wHSL_List[i]+'" onchange="cmanCP_JS_rangeCng(\'HSL\')" onInput="cmanCP_JS_rangeCng(\'HSL\')">';
- wHtml += '<div class="cmanCP_CSS_Gaid">';
- for(var j=1; j<=20; j++){
- wHtml += '<div class="cmanCP_CSS_GaidHSL" id="cmanCP_ID_gHSL_'+wHSL_List[i]+j+'"></div>';
- }
- wHtml += '</div>';
- wHtml += '</td>';
- wHtml += '</tr>';
- }
-
- // --- 透明 ---
- wHtml += '<tr id="cmanCP_ID_aA">';
- wHtml += '<td>'+wA_TitleJP+'</td>';
- wHtml += '<td>';
- wHtml += '<input type="number" min="0" max="1" step="0.01" maxlength="3" id="cmanCP_ID_tA" onchange="cmanCP_JS_textCng(\'A\')" onInput="cmanCP_JS_textCng(\'A\')">';
- wHtml += '</td>';
- wHtml += '<td style="line-height: 1em;">';
- wHtml += '<input type="range" min="0" max="1" step="0.01" value="1" class="cmanCP_CSS_range" id="cmanCP_ID_rA" onchange="cmanCP_JS_rangeCng(\'A\')" onInput="cmanCP_JS_rangeCng(\'A\')">';
- wHtml += '<div class="cmanCP_CSS_Gaid" style="background: linear-gradient(to right, #fff, #000);"></div>';
- wHtml += '</td>';
- wHtml += '</tr>';
- wHtml += '</tbody>';
- wHtml += '</table>';
- wHtml += '</div>';
- wHtml += '</div>';
-
- wHtml += '<div style="text-align: right;font-size: 80%;padding-right: 5px;color:#666">' +
- 'パクリ元:' +
- '<a href="http://web-designer.cman.jp/javascript_ref/color/palette/" target="_blank" style="color:#666;font-weight:normal;">web-designer.cman.jp</a>' +
- '</div>';
-
-
-
- // ----- 表示枠の作成&割り当て -----------------------------------
- if(document.getElementById(cmanCP_VAR["popId"])){
- document.getElementById(cmanCP_VAR["popId"]).style.display = "none";
- }else{
-
- var wEle = document.createElement("div"); // 新規に要素(タグ)を生成
- wEle.id = cmanCP_VAR["popId"];
- wEle.style.display = "none";
- wEle.style.position = 'fixed';
- document.body.appendChild(wEle); // このページ (document.body) の最後に生成した要素を追加
- }
-
-
- // ----- カラーポップをの初期設定 ---------------------------------
- cmanCP_VAR["objPop"] = document.getElementById(cmanCP_VAR["popId"]);
- cmanCP_VAR["objPop"].innerHTML = wCss+"\n"+wHtml;
- cmanCP_VAR["objPop"].style.opacity = 0;
- cmanCP_VAR["objPop"].className = 'cmanCP_CSS_ALL';
- cmanCP_VAR["objPop"].style.left = '0px';
- cmanCP_VAR["objPop"].style.top = '0px';
-
-
- // ----- オブジェクトの設定 ---------------------------------------
- cmanCP_VAR["obj_tR16"] = document.getElementById("cmanCP_ID_tR16");
- cmanCP_VAR["obj_tG16"] = document.getElementById("cmanCP_ID_tG16");
- cmanCP_VAR["obj_tB16"] = document.getElementById("cmanCP_ID_tB16");
- cmanCP_VAR["obj_tR"] = document.getElementById("cmanCP_ID_tR");
- cmanCP_VAR["obj_tG"] = document.getElementById("cmanCP_ID_tG");
- cmanCP_VAR["obj_tB"] = document.getElementById("cmanCP_ID_tB");
- cmanCP_VAR["obj_tH"] = document.getElementById("cmanCP_ID_tH");
- cmanCP_VAR["obj_tS"] = document.getElementById("cmanCP_ID_tS");
- cmanCP_VAR["obj_tL"] = document.getElementById("cmanCP_ID_tL");
- cmanCP_VAR["obj_tA"] = document.getElementById("cmanCP_ID_tA");
- cmanCP_VAR["obj_rR"] = document.getElementById("cmanCP_ID_rR");
- cmanCP_VAR["obj_rG"] = document.getElementById("cmanCP_ID_rG");
- cmanCP_VAR["obj_rB"] = document.getElementById("cmanCP_ID_rB");
- cmanCP_VAR["obj_rH"] = document.getElementById("cmanCP_ID_rH");
- cmanCP_VAR["obj_rS"] = document.getElementById("cmanCP_ID_rS");
- cmanCP_VAR["obj_rL"] = document.getElementById("cmanCP_ID_rL");
- cmanCP_VAR["obj_rA"] = document.getElementById("cmanCP_ID_rA");
-
-
- // ----------------------------------------------------------------
- // パレットの初期設定
- // ----------------------------------------------------------------
-
- // ----- サイズの設定 ---------------------------------------------
- if('def_size' in cmanCP_VAR){
-
- cmanCP_VAR["def_size"] = cmanCP_VAR["def_size"].replace("px","");
- if(cmanCP_VAR["def_size"].toString().match(/^[0-9]+$/)){
- cmanCP_VAR["maxWidth"] = cmanCP_VAR["def_size"];
- }
- }
- if('maxWidth' in cmanCP_VAR){
- }else{
- cmanCP_VAR["maxWidth"] = 530;
- }
- cmanCP_VAR["objPop"].style.maxWidth = cmanCP_VAR["maxWidth"]+'px';
-
-
- // ----- 初期カラー設定 -------------------------------------------
- var wDefColorSet = '';
- var wDefColor = '';
-
- if('def_color' in cmanCP_VAR){
-
- try{
- if (cmanCP_VAR["def_color"].indexOf('cns=') == 0){wDefColor = cmanCP_VAR["def_color"].substr(4);}
- else{
- var wObjDefColor = document.getElementById(cmanCP_VAR["def_color"].substr(4));
-
- if(wObjDefColor){
- if (cmanCP_VAR["def_color"].indexOf('val=') == 0){wDefColor = wObjDefColor.value;}
- else if (cmanCP_VAR["def_color"].indexOf('txt=') == 0){wDefColor = wObjDefColor.innerText;}
- else if (cmanCP_VAR["def_color"].indexOf('col=') == 0){wDefColor = wObjDefColor.style.color;}
- else if (cmanCP_VAR["def_color"].indexOf('bgc=') == 0){wDefColor = wObjDefColor.style.backgroundColor;}
-
- wDefColor = cmanCP_JS_zen_TO_han(wDefColor.toLowerCase());
- }
- }
- }
- catch(e){
- wDefColor = "";
- }
- }
-
- if (wDefColor == ""){
- }
- else if (wDefColor.substr(0,1) == '#'){
-
- if(wDefColor.substr(1).toString().match(/^[0-9a-f]+$/i)){
- switch (wDefColor.length){
- case 4:
- cmanCP_VAR["obj_tR16"].value = wDefColor.substr(1,1).toString() + wDefColor.substr(1,1).toString();
- cmanCP_VAR["obj_tG16"].value = wDefColor.substr(2,1).toString() + wDefColor.substr(2,1).toString();
- cmanCP_VAR["obj_tB16"].value = wDefColor.substr(3,1).toString() + wDefColor.substr(3,1).toString();
- wDefColorSet = 'RGB16';
- break;
- case 7:
- cmanCP_VAR["obj_tR16"].value = wDefColor.substr(1,2).toString();
- cmanCP_VAR["obj_tG16"].value = wDefColor.substr(3,2).toString();
- cmanCP_VAR["obj_tB16"].value = wDefColor.substr(5,2).toString();
- wDefColorSet = 'RGB16';
- break;
- }
- }
- }
- else if (wDefColor.indexOf('rgb(') == 0){
- wDefColor = wDefColor.replace('rgb(','');
- wDefColor = wDefColor.replace(')','');
- var wSplit = wDefColor.split(',');
- if(wSplit.length == 3){
- cmanCP_VAR["obj_tR"].value = wSplit[0];
- cmanCP_VAR["obj_tG"].value = wSplit[1];
- cmanCP_VAR["obj_tB"].value = wSplit[2];
- wDefColorSet = 'RGB';
- }
-
- }
- else if (wDefColor.indexOf('rgba(') == 0){
- wDefColor = wDefColor.replace('rgba(','');
- wDefColor = wDefColor.replace(')','');
- var wSplit = wDefColor.split(',');
- if(wSplit.length == 4){
- cmanCP_VAR["obj_tR"].value = wSplit[0];
- cmanCP_VAR["obj_tG"].value = wSplit[1];
- cmanCP_VAR["obj_tB"].value = wSplit[2];
- cmanCP_VAR["obj_tA"].value = wSplit[3];
- wDefColorSet = 'RGB';
- }
-
- }
- else if (wDefColor.indexOf('hsl(') == 0){
- wDefColor = wDefColor.replace('hsl(','');
- wDefColor = wDefColor.replace('%','');
- wDefColor = wDefColor.replace(')','');
- var wSplit = wDefColor.split(',');
- if(wSplit.length == 3){
- cmanCP_VAR["obj_tH"].value = wSplit[0];
- cmanCP_VAR["obj_tS"].value = parseFloat(wSplit[1])/100;
- cmanCP_VAR["obj_tL"].value = parseFloat(wSplit[2])/100;
- wDefColorSet = 'HSL';
- }
-
- }
- else if (wDefColor.indexOf('hsla(') == 0){
- wDefColor = wDefColor.replace('hsla(','');
- wDefColor = wDefColor.replace('%','');
- wDefColor = wDefColor.replace(')','');
- var wSplit = wDefColor.split(',');
- if(wSplit.length == 3){
- cmanCP_VAR["obj_tH"].value = wSplit[0];
- cmanCP_VAR["obj_tS"].value = parseFloat(wSplit[1])/100;
- cmanCP_VAR["obj_tL"].value = parseFloat(wSplit[2])/100;
- cmanCP_VAR["obj_tA"].value = wSplit[3];
- wDefColorSet = 'HSL';
- }
- }
-
- if(wDefColorSet == ""){
- cmanCP_VAR["obj_tR16"].value = "ff";
- cmanCP_VAR["obj_tG16"].value = "80";
- cmanCP_VAR["obj_tB16"].value = "0";
- wDefColorSet = 'RGB16';
- }
- if(cmanCP_VAR["obj_tA"].value == ''){
- cmanCP_VAR["obj_tA"].value = '1';
- }
- cmanCP_JS_textCng(wDefColorSet);
-
-
- // ----- 初期TAB設定 ----------------------------------------------
- var wDefTab = '';
- if('def_tab' in cmanCP_VAR){
- wDefTab = cmanCP_VAR['def_tab'].toUpperCase();
- }
- switch (wDefTab){
- case 'RGB':
- case 'RGB16':
- case 'HSL':
- cmanCP_JS_tanCng(wDefTab); break;
- default:
- cmanCP_JS_tanCng('HSL'); break; // DEBUG時はコメント
- }
-
-
- // ----- 透明の表示設定 ----------------------------------------------
- var wDefAlpha = '';
- if('def_alpha' in cmanCP_VAR){
- wDefAlpha = cmanCP_VAR['def_alpha'];
- }
- if(wDefAlpha == '0'){
- document.getElementById('cmanCP_ID_aA').style.display = 'none';
- }else{
- document.getElementById('cmanCP_ID_aA').style.display = '';
- }
-
-
- // ----- サイズ取得のため透明のまま表示 ---------------------------
- cmanCP_VAR["objPop"].style.display = "";
-
-
- // ----- 表示位置設定 ---------------------------------------------
- if(cmanCP_VAR["objPop"].scrollWidth >= document.documentElement.clientWidth){
- cmanCP_VAR["objPop"].style.left = '0px';
- }else{
- cmanCP_VAR["objPop"].style.left = Math.round((document.documentElement.clientWidth - cmanCP_VAR["objPop"].scrollWidth) / 2) + 'px';
- }
-
- if(cmanCP_VAR["objPop"].scrollHeight >= document.documentElement.clientHeight){
- cmanCP_VAR["objPop"].style.top = '0px';
- }else{
- cmanCP_VAR["objPop"].style.top = Math.round((document.documentElement.clientHeight - cmanCP_VAR["objPop"].scrollHeight) / 2) + 'px';
- }
-
- // ----- 移動イベント登録 -----------------------------------------
- document.getElementById('cmanCP_ID_title').onmousedown = cmanCP_JS_mdown;
- document.getElementById('cmanCP_ID_title').onmouseup = cmanCP_JS_mup;
- document.getElementById('cmanCP_ID_title').onmousemove = cmanCP_JS_mmove;
- document.getElementById('cmanCP_ID_title').onmouseout = cmanCP_JS_mout;
-
- // ----- 透明解除 -------------------------------------------------
- cmanCP_VAR["objPop"].style.opacity = 1;
-
-
- cmanCP_ID_title
-
- }
-
-
- // =========================================================================================
- // 閉じるボタンが押されたら
- // =========================================================================================
- function cmanCP_JS_close(){
-
- var wDelElm = document.getElementById(cmanCP_VAR["popId"]);
- document.body.removeChild(wDelElm);
-
- // ハッシュクリア
- for(var key in cmanCP_VAR){
- delete cmanCP_VAR[key];
- }
- }
-
- // =========================================================================================
- // 色リストが選択されたら
- // =========================================================================================
- function cmanCP_JS_csel(argObj){
-
- var wColor = argObj.style.backgroundColor.toString();
- var w16 = '';
- var wRcColor = '';
-
- if(wColor.substr(0,1) == '#'){
- wRcColor = argColor.substr(1);
- }
- else{
-
- //背景色の余計な文字列削除
- wColor = wColor.replace("rgb(","");
- wColor = wColor.replace(")","");
-
- //文字列分割
- var wColorSplit = wColor.split(",");
-
- //10進数を16進数に変換して連結
- for (var i = 0; i <= 2; i++) {
- w16 = parseInt(wColorSplit[i]).toString(16)
- if(w16.length == 1){
- wRcColor = wRcColor+'0'+w16;
- }else{
- wRcColor = wRcColor+w16;
- }
- }
- }
-
- cmanCP_VAR["obj_tR16"].value = wRcColor.substr(0,2);
- cmanCP_VAR["obj_tG16"].value = wRcColor.substr(2,2);
- cmanCP_VAR["obj_tB16"].value = wRcColor.substr(4,2);
-
- cmanCP_JS_textCng('RGB16');
-
- }
-
- // =========================================================================================
- // タブがクリックされたら
- // =========================================================================================
- function cmanCP_JS_tanCng(argID){
-
- var wTabCssS = 'cmanCP_CSS_Tab cmanCP_CSS_TabS';
- var wTabCssN = 'cmanCP_CSS_Tab cmanCP_CSS_TabN';
-
-
- if(document.getElementById('cmanCP_ID_tab_'+argID).className == wTabCssS){return;}
-
- var wObjTabRGB = document.getElementById('cmanCP_ID_tab_RGB');
- var wObjTabRGB16 = document.getElementById('cmanCP_ID_tab_RGB16');
- var wObjTabHSL = document.getElementById('cmanCP_ID_tab_HSL');
- var wObjTrRGB_R = document.getElementById('cmanCP_ID_aRGB_R');
- var wObjTrRGB_G = document.getElementById('cmanCP_ID_aRGB_G');
- var wObjTrRGB_B = document.getElementById('cmanCP_ID_aRGB_B');
- var wObjTrHSL_H = document.getElementById('cmanCP_ID_aHSL_H');
- var wObjTrHSL_S = document.getElementById('cmanCP_ID_aHSL_S');
- var wObjTrHSL_L = document.getElementById('cmanCP_ID_aHSL_L');
-
-
- switch (argID){
- case 'RGB':
- cmanCP_VAR["obj_tR"].style.display = "";
- cmanCP_VAR["obj_tG"].style.display = "";
- cmanCP_VAR["obj_tB"].style.display = "";
- cmanCP_VAR["obj_tR16"].style.display = "none";
- cmanCP_VAR["obj_tG16"].style.display = "none";
- cmanCP_VAR["obj_tB16"].style.display = "none";
- wObjTabRGB.className = wTabCssS;
- wObjTabRGB16.className = wTabCssN;
- wObjTabHSL.className = wTabCssN;
- break;
-
- case 'RGB16':
- cmanCP_VAR["obj_tR"].style.display = "none";
- cmanCP_VAR["obj_tG"].style.display = "none";
- cmanCP_VAR["obj_tB"].style.display = "none";
- cmanCP_VAR["obj_tR16"].style.display = "";
- cmanCP_VAR["obj_tG16"].style.display = "";
- cmanCP_VAR["obj_tB16"].style.display = "";
- wObjTabRGB.className = wTabCssN;
- wObjTabRGB16.className = wTabCssS;
- wObjTabHSL.className = wTabCssN;
- break;
-
- case 'HSL':
- wObjTabRGB.className = wTabCssN;
- wObjTabRGB16.className = wTabCssN;
- wObjTabHSL.className = wTabCssS;
- break;
- }
-
- switch (argID){
- case 'HSL':
- wObjTrRGB_R.style.display = "none";
- wObjTrRGB_G.style.display = "none";
- wObjTrRGB_B.style.display = "none";
- wObjTrHSL_H.style.display = "";
- wObjTrHSL_S.style.display = "";
- wObjTrHSL_L.style.display = "";
- break;
-
- default :
- wObjTrRGB_R.style.display = "";
- wObjTrRGB_G.style.display = "";
- wObjTrRGB_B.style.display = "";
- wObjTrHSL_H.style.display = "none";
- wObjTrHSL_S.style.display = "none";
- wObjTrHSL_L.style.display = "none";
- break;
- }
-
-
- }
-
- // =========================================================================================
- // レンジが変更された場合
- // =========================================================================================
- function cmanCP_JS_rangeCng(argID){
-
-
- switch (argID){
- case 'RGB':
- cmanCP_VAR["obj_tR"].value = cmanCP_VAR["obj_rR"].value;
- cmanCP_VAR["obj_tG"].value = cmanCP_VAR["obj_rG"].value;
- cmanCP_VAR["obj_tB"].value = cmanCP_VAR["obj_rB"].value;
- cmanCP_JS_textCng(argID);
- break;
-
- case 'HSL':
- cmanCP_VAR["obj_tH"].value = cmanCP_VAR["obj_rH"].value;
- cmanCP_VAR["obj_tS"].value = cmanCP_VAR["obj_rS"].value;
- cmanCP_VAR["obj_tL"].value = cmanCP_VAR["obj_rL"].value;
- cmanCP_JS_textCng(argID);
- break;
-
- case 'A':
- cmanCP_VAR["obj_tA"].value = cmanCP_VAR["obj_rA"].value;
- cmanCP_JS_textCng(argID);
- break;
-
- }
- }
-
- // =========================================================================================
- // テキスト入力が変更された場合
- // =========================================================================================
- function cmanCP_JS_textCng(argID){
-
-
- // テキストの整備
- switch (argID){
- case 'RGB16' : cmanCP_JS_rgb16_TO_rgb(); cmanCP_JS_rgb_TO_hsl(); break;
- case 'RGB' : cmanCP_JS_rgb_TO_rgb16(); cmanCP_JS_rgb_TO_hsl(); break;
- case 'HSL' : cmanCP_JS_hsl_TO_rgb(); cmanCP_JS_rgb_TO_rgb16(); break;
- case 'A' : cmanCP_JS_chk_a(); break;
- default : return; break;
- }
-
- // レンジの整備
- cmanCP_VAR["obj_rR"].value = cmanCP_VAR["obj_tR"].value;
- cmanCP_VAR["obj_rG"].value = cmanCP_VAR["obj_tG"].value;
- cmanCP_VAR["obj_rB"].value = cmanCP_VAR["obj_tB"].value;
- cmanCP_VAR["obj_rH"].value = cmanCP_VAR["obj_tH"].value;
- cmanCP_VAR["obj_rS"].value = cmanCP_VAR["obj_tS"].value;
- cmanCP_VAR["obj_rL"].value = cmanCP_VAR["obj_tL"].value;
- cmanCP_VAR["obj_rA"].value = cmanCP_VAR["obj_tA"].value;
-
-
- // サンプル更新
- cmanCP_JS_sampleCng();
- }
-
-
- // =========================================================================================
- // RGB16→RGB 設定
- // =========================================================================================
- function cmanCP_JS_rgb16_TO_rgb(){
-
- // RGB16の入力チェック&正規化
- cmanCP_VAR["obj_tR16"].value = cmanCP_JS_chk00toFF(cmanCP_VAR["obj_tR16"].value);
- cmanCP_VAR["obj_tG16"].value = cmanCP_JS_chk00toFF(cmanCP_VAR["obj_tG16"].value);
- cmanCP_VAR["obj_tB16"].value = cmanCP_JS_chk00toFF(cmanCP_VAR["obj_tB16"].value);
-
- // RGB置換
- cmanCP_VAR["obj_tR"].value = parseInt(cmanCP_VAR["obj_tR16"].value, 16);
- cmanCP_VAR["obj_tG"].value = parseInt(cmanCP_VAR["obj_tG16"].value, 16);
- cmanCP_VAR["obj_tB"].value = parseInt(cmanCP_VAR["obj_tB16"].value, 16);
- }
-
-
- // =========================================================================================
- // RGB→RGB16 設定
- // =========================================================================================
- function cmanCP_JS_rgb_TO_rgb16(){
-
- // RGBの入力チェック&正規化
- cmanCP_VAR["obj_tR"].value = cmanCP_JS_chk0to255(cmanCP_VAR["obj_tR"].value);
- cmanCP_VAR["obj_tG"].value = cmanCP_JS_chk0to255(cmanCP_VAR["obj_tG"].value);
- cmanCP_VAR["obj_tB"].value = cmanCP_JS_chk0to255(cmanCP_VAR["obj_tB"].value);
-
- // RGB16置換
- cmanCP_VAR["obj_tR16"].value = cmanCP_JS_chk00toFF(parseInt(cmanCP_VAR["obj_tR"].value).toString(16));
- cmanCP_VAR["obj_tG16"].value = cmanCP_JS_chk00toFF(parseInt(cmanCP_VAR["obj_tG"].value).toString(16));
- cmanCP_VAR["obj_tB16"].value = cmanCP_JS_chk00toFF(parseInt(cmanCP_VAR["obj_tB"].value).toString(16));
- }
-
- // =========================================================================================
- // RGB(10進数) → HSL
- // =========================================================================================
- function cmanCP_JS_rgb_TO_hsl(){
-
- var wR = parseInt(cmanCP_VAR["obj_tR"].value);
- var wG = parseInt(cmanCP_VAR["obj_tG"].value);
- var wB = parseInt(cmanCP_VAR["obj_tB"].value);
-
- var wMax = Math.max(wR, wG, wB);
- var wMin = Math.min(wR, wG, wB);
-
- var wH = 0;
- var wS = 0;
- var wL = 0;
-
- // --- 色相(H) ----------------------------------------------------------
- if (wMax == wMin) {}
- else if (wMax == wR) {wH = 60 * (( wG - wB ) / ( wMax - wMin ));}
- else if (wMax == wG) {wH = 60 * (( wB - wR ) / ( wMax - wMin )) + 120;}
- else {wH = 60 * (( wR - wG ) / ( wMax - wMin )) + 240;}
- if(wH < 0) {wH = wH + 360;}
- if(wH >= 360) {wH = 0;}
-
- // --- 輝度(L) ----------------------------------------------------------
- wL = ( wMax + wMin ) / 2;
-
- // --- 彩度(S) ----------------------------------------------------------
- if (wMax == wMin) {}
- else{
- if( wL <= (255 / 2) ) {wS = 255 * ( wMax -wMin ) / ( wMax + wMin );}
- else {wS = 255 * ( wMax -wMin ) / ( 2 * 255 - ( wMax + wMin ));}
- }
-
- // --- 色相(H)の整数化 -------------------------------------------------
- wH = Math.round(wH);
-
- // --- 彩度(S)の小数1桁整備(浮動小数のためテキストで処理) ------------
- wS = Math.round(wS / 255 * 1000).toString();
- if (wS == 0) {}
- else if (wS.length < 2) {wS = ''+'0.00'+wS;}
- else if (wS.length < 3) {wS = ''+'0.0'+wS;}
- else if (wS.length < 4) {wS = ''+'0.'+wS;}
- else {wS = wS.substr(0,1)+'.'+wS.substr(1);}
-
- // --- 輝度(L)の小数1桁整備(浮動小数のためテキストで処理) ------------
- wL = Math.round(wL / 255 * 1000).toString();
- if (wL == 0) {}
- else if (wL.length < 2) {wL = ''+'0.00'+wL;}
- else if (wL.length < 3) {wL = ''+'0.0'+wL;}
- else if (wL.length < 4) {wL = ''+'0.'+wL;}
- else {wL = wL.substr(0,1)+'.'+wL.substr(1);}
-
- // --- 変換結果を設定 --------------------------------------------------
- cmanCP_VAR["obj_tH"].value = wH;
- cmanCP_VAR["obj_tS"].value = wS;
- cmanCP_VAR["obj_tL"].value = wL;
-
- }
-
-
- // =========================================================================================
- // HSL → RGB(10進数)
- // =========================================================================================
- function cmanCP_JS_hsl_TO_rgb(){
-
- var wCal;
-
- // HSLの入力チェック&正規化
- cmanCP_VAR["obj_tH"].value = cmanCP_JS_chk0to359(cmanCP_VAR["obj_tH"].value);
-
- wCal = cmanCP_JS_chk0to1s3(cmanCP_VAR["obj_tS"].value);
- if(wCal.toString() != cmanCP_VAR["obj_tS"].value.toString()){cmanCP_VAR["obj_tS"].value = wCal;} // number対応
-
- wCal = cmanCP_JS_chk0to1s3(cmanCP_VAR["obj_tL"].value);
- if(wCal.toString() != cmanCP_VAR["obj_tL"].value.toString()){cmanCP_VAR["obj_tL"].value = wCal;} // number対応
-
-
- // HSLからRGB計算
- var wH = parseInt(cmanCP_VAR["obj_tH"].value);
- var wS = parseFloat(cmanCP_VAR["obj_tS"].value);
- var wL = parseFloat(cmanCP_VAR["obj_tL"].value);
-
- var wMax = 0;
- var wMin = 0;
- var wR = 0;
- var wG = 0;
- var wB = 0;
-
- wS = wS * 100;
- wL = wL * 100;
-
-
- if (wL < 50){
- wMax = 2.55 * ( wL + wL * (wS / 100));
- wMin = 2.55 * ( wL - wL * (wS / 100));
- }else{
- wMax = 2.55 * ( wL + ( 100 - wL) * (wS / 100));
- wMin = 2.55 * ( wL - ( 100 - wL) * (wS / 100));
- }
-
- if (wH < 60){
- wR = wMax;
- wG = (wH / 60) * (wMax - wMin ) + wMin;
- wB = wMin;
-
- }else if(wH < 120){
- wR = (( 120 - wH ) / 60 ) * ( wMax - wMin ) + wMin;
- wG = wMax;
- wB = wMin;
-
- }else if(wH < 180){
- wR = wMin;
- wG = wMax;
- wB = (( wH - 120 ) / 60 ) * ( wMax - wMin ) + wMin;
-
- }else if(wH < 240){
- wR = wMin;
- wG = (( 240 - wH ) / 60 ) * ( wMax - wMin ) + wMin;
- wB = wMax;
-
- }else if(wH < 300){
- wR = (( wH - 240 ) / 60 ) * ( wMax - wMin ) + wMin;
- wG = wMin;
- wB = wMax;
-
- }else{
- wR = wMax;
- wG = wMin;
- wB = (( 360 - wH ) / 60 ) * ( wMax - wMin ) + wMin;
- }
-
- // --- 色相(H)の整数化 -------------------------------------------------
- wR = Math.round(wR);
- wG = Math.round(wG);
- wB = Math.round(wB);
-
- // --- 変換結果を設定 --------------------------------------------------
- cmanCP_VAR["obj_tR"].value = wR;
- cmanCP_VAR["obj_tG"].value = wG;
- cmanCP_VAR["obj_tB"].value = wB;
-
- }
-
-
- // =========================================================================================
- // Aはチェック&正規化 設定
- // =========================================================================================
- function cmanCP_JS_chk_a(){
-
- var wCal = cmanCP_JS_chk0to1s2(cmanCP_VAR["obj_tA"].value);
- if(wCal.toString() != cmanCP_VAR["obj_tA"].value.toString()){cmanCP_VAR["obj_tA"].value = wCal;} // number対応
-
- }
-
- // =========================================================================================
- // 16進数チェック&正規化(0~ff)
- // =========================================================================================
- function cmanCP_JS_chk00toFF(arg16){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg16);
- var wRc = 0;
- var wStrPos = 0;
-
- if(wChkStr.toString().match(/^[0-9a-f]+$/i)){
-
- wRc = parseInt(wChkStr, 16);
-
- if(wRc < 0) {wRc = 0;}
- if(wRc > 255) {wRc = 255;}
-
- wRc = parseInt(wRc).toString(16);
- if(wRc.length == 1){wRc = '0'+wRc;}
-
- }
-
- return wRc;
- }
-
- // =========================================================================================
- // 10進数チェック&正規化(0~255)
- // =========================================================================================
- function cmanCP_JS_chk0to255(arg10){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg10);
- var wRc = 0;
-
- if(wChkStr.toString().match(/^[0-9]+$/)){
- wRc = parseInt(wChkStr);
- if(wRc < 0) {wRc = 0;}
- if(wRc > 255) {wRc = 255;}
- }
- return wRc;
- }
-
- // =========================================================================================
- // 10進数チェック&正規化(0~359)
- // =========================================================================================
- function cmanCP_JS_chk0to359(arg10){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg10);
- var wRc = 0;
-
- if(wChkStr.toString().match(/^[0-9]+$/)){
- wRc = parseInt(wChkStr);
- if(wRc < 0) {wRc = 0;}
- if(wRc > 359) {wRc = 359;}
- }
- return wRc;
- }
-
- // =========================================================================================
- // 10進数チェック(0~1,0.1刻み)
- // =========================================================================================
- function cmanCP_JS_chk0to100s1(arg10){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg10);
- var wRc = 0;
-
- if(wChkStr.toString().match(/^[0-9]+(\.[0-9]+)?$/)){
-
- wRc = Math.round(parseFloat(wChkStr) * 10) / 10;
- if(wRc < 0) {wRc = 0;}
- if(wRc > 100) {wRc = 100;}
-
- wRc = wRc.toString();
- wPos = wRc.indexOf('.');
-
- if(wPos < 0){
- }else{
- wRc = wRc.substr(0,wPos)+'.'+wRc.substr(wPos+1,1);
- }
-
- }
- return wRc;
- }
-
- // =========================================================================================
- // 10進数チェック(0~1,0.01刻み)
- // =========================================================================================
- function cmanCP_JS_chk0to1s2(arg10){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg10);
- var wRc = 0;
-
- if(wChkStr != ''){
-
- if(wChkStr.toString().match(/^[0-9]+\.$/)){
- wRc = wChkStr;
- }
- else if(wChkStr.toString().match(/^[0-9]+\.0$/)){
- wRc = wChkStr;
- }
- else if(wChkStr.toString().match(/^[0-9]+(\.[0-9]+)?$/)){
-
- wRc = Math.round(parseFloat(wChkStr) * 100) / 100;
- if(wRc < 0) {wRc = 0;}
- if(wRc > 1) {wRc = 1;}
-
- wRc = wRc.toString().substr(0,4);
-
- if((wChkStr.length > wRc.length)&&(wChkStr.length <= 4)&&(wRc.substr(1,1) == '.')){
- wRc += ''+Array((wChkStr.length - wRc.length) + 1).join('0');
- }
-
- }
- }
-
- return wRc;
- }
-
- // =========================================================================================
- // 10進数チェック(0~1,0.001刻み)
- // =========================================================================================
- function cmanCP_JS_chk0to1s3(arg10){
-
- var wChkStr = cmanCP_JS_zen_TO_han(arg10);
- var wRc = 0;
-
- if(wChkStr != ''){
-
- if(wChkStr.toString().match(/^[0-9]+\.$/)){
- wRc = wChkStr;
- }
- else if(wChkStr.toString().match(/^[0-9]+\.0$/)){
- wRc = wChkStr;
- }
- else if(wChkStr.toString().match(/^[0-9]+\.00$/)){
- wRc = wChkStr;
- }
- else if(wChkStr.toString().match(/^[0-9]+(\.[0-9]+)?$/)){
-
- wRc = Math.round(parseFloat(wChkStr) * 1000) / 1000;
- if(wRc < 0) {wRc = 0;}
- if(wRc > 1) {wRc = 1;}
-
- wRc = wRc.toString().substr(0,5);
-
- if((wChkStr.length > wRc.length)&&(wChkStr.length <= 5)&&(wRc.substr(1,1) == '.')){
- wRc += ''+Array((wChkStr.length - wRc.length) + 1).join('0');
- }
-
- }
- }
-
- return wRc;
- }
-
- // =========================================================================================
- // 全角入力対応(trimを含む)
- // =========================================================================================
- function cmanCP_JS_zen_TO_han(argStr){
-
- var wRcStr = argStr.toString();
-
- var befstr = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","a","b","c","d","e","f","あ","え",".","。");
- var aftstr = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","a","b","c","d","e","f","a","e",".",".");
-
- wRcStr = wRcStr.replace(/[ ]|[ ]/g, '');
- wRcStr = wRcStr.replace(/\t|\r|\n/g, '');
-
- for(var i=0; i<aftstr.length; i++){
- var reg = new RegExp(befstr[i],"g");
- wRcStr = wRcStr.replace(reg, aftstr[i]);
- }
-
- return wRcStr;
- }
-
- // =========================================================================================
- // サンプル更新
- // =========================================================================================
- function cmanCP_JS_sampleCng(){
-
- cmanCP_VAR["strRGB16"] = '#'+cmanCP_VAR["obj_tR16"].value+cmanCP_VAR["obj_tG16"].value+cmanCP_VAR["obj_tB16"].value;
- cmanCP_VAR["strRGB"] = 'rgb('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+')';
- cmanCP_VAR["strHSL"] = 'hsl('+cmanCP_VAR["obj_tH"].value+', '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tS"].value) * 100))+'%, '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tL"].value) * 100)) + '%)';
- cmanCP_VAR["strRGBA"] = 'rgba('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+', '+cmanCP_VAR["obj_tA"].value+')';
- cmanCP_VAR["strHSLA"] = 'hsla('+cmanCP_VAR["obj_tH"].value+', '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tS"].value) * 100))+'%, '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tL"].value) * 100)) + '%, '+cmanCP_VAR["obj_tA"].value+')';
-
-
- // サンプル色
- document.getElementById('cmanCP_ID_sample').style.backgroundColor = cmanCP_VAR["strRGBA"];
-
- // HSLのガイダンスカラー
- for( var i=1; i <= 20; i++){
- document.getElementById('cmanCP_ID_gHSL_H'+i).style.backgroundColor = 'hsl(' + ( (i - 1) * 18.9 ) + ',' + (parseFloat(cmanCP_VAR["obj_tS"].value) * 100) + '%,' + (parseFloat(cmanCP_VAR["obj_tL"].value) * 100) + '%)';
- document.getElementById('cmanCP_ID_gHSL_S'+i).style.backgroundColor = 'hsl(' + cmanCP_VAR["obj_tH"].value + ',' + ( i * 5 ) + '%,' + (parseFloat(cmanCP_VAR["obj_tL"].value) * 100) + '%)';
- document.getElementById('cmanCP_ID_gHSL_L'+i).style.backgroundColor = 'hsl(' + cmanCP_VAR["obj_tH"].value + ',' + (parseFloat(cmanCP_VAR["obj_tS"].value) * 100) + '%,' + ( i * 5 ) + '%)';
- }
-
-
- if(cmanCP_VAR["obj_tA"].value == '1'){
- document.getElementById('cmanCP_ID_outstr').innerHTML = '<span style="font-size:120%;white-space: nowrap;">' + cmanCP_VAR["strRGB16"] + '</span> ' +
- '<span style="padding-left:20px;white-space: nowrap;">' + cmanCP_VAR["strRGB"] + '</span> ' +
- '<span style="padding-left:20px;white-space: nowrap;">' + cmanCP_VAR["strHSL"] + '</span>';
- }else{
- document.getElementById('cmanCP_ID_outstr').innerHTML = '<span style="font-size:120%;">' + cmanCP_VAR["strRGB16"] + '<small> (opacity:' + cmanCP_VAR["obj_tA"].value + ')</small></span> ' +
- '<span style="padding-left:20px;">' + cmanCP_VAR["strRGBA"] + '</span> ' +
- '<span style="padding-left:20px;">' + cmanCP_VAR["strHSLA"] + '</span>';
- }
-
- }
-
- // =========================================================================================
- // この色を選択
- // =========================================================================================
- function cmanCP_JS_select(){
-
- // ----- 返却形式 -------------------------------------------------
- var wForm = '';
- var wOutText = '';
-
- if('rc_form' in cmanCP_VAR){
- wForm = cmanCP_VAR['rc_form'].toUpperCase();
- }
-
- switch (wForm){
- case '#16':
- wOutText = '#'+cmanCP_VAR["obj_tR16"].value+cmanCP_VAR["obj_tG16"].value+cmanCP_VAR["obj_tB16"].value;
- break;
- case '16':
- wOutText = ''+cmanCP_VAR["obj_tR16"].value+cmanCP_VAR["obj_tG16"].value+cmanCP_VAR["obj_tB16"].value;
- break;
- case 'RGB':
- wOutText = 'rgb('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+')';
- break;
- case 'RGBA':
- wOutText = 'rgba('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+', '+cmanCP_VAR["obj_tA"].value+')';
- break;
- case 'HSL':
- wOutText = 'hsl('+cmanCP_VAR["obj_tH"].value+', '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tS"].value) * 100))+'%, '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tL"].value) * 100)) + '%)';
- break;
- case 'HSLA':
- wOutText = 'hsla('+cmanCP_VAR["obj_tH"].value+', '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tS"].value) * 100))+'%, '+(cmanCP_JS_chk0to100s1(parseFloat(cmanCP_VAR["obj_tL"].value) * 100)) + '%, '+cmanCP_VAR["obj_tA"].value+')';
- break;
- default:
- if(cmanCP_VAR["obj_tA"].value == '1'){
- wOutText = 'rgb('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+')';
- }else{
- wOutText = 'rgba('+cmanCP_VAR["obj_tR"].value+', '+cmanCP_VAR["obj_tG"].value+', '+cmanCP_VAR["obj_tB"].value+', '+cmanCP_VAR["obj_tA"].value+')';
- }
- break;
- }
-
- // ----- テキスト設定 ---------------------------------------------
- var wOutTextID = [];
-
- if('rc_text' in cmanCP_VAR){
- wOutTextID = cmanCP_VAR["rc_text"].split(',');
- }
-
- for(var i=0; i<wOutTextID.length; i++){
-
- var wSetObj = document.getElementById(wOutTextID[i]);
-
- if(wSetObj){
- switch (wSetObj.tagName.toLowerCase()){
- case 'button':
- case 'data':
- case 'input':
- case 'option':
- case 'progress':
- wSetObj.value = wOutText;
- break;
- default:
- wSetObj.innerText = wOutText;
- break;
- }
- }
- }
-
- // ----- 背景色設定 ---------------------------------------------
- var wOutBgID = [];
-
- if('rc_bg' in cmanCP_VAR){
- wOutBgID = cmanCP_VAR["rc_bg"].split(',');
- }
-
- for(var i=0; i<wOutBgID.length; i++){
-
- var wSetObj = document.getElementById(wOutBgID[i]);
-
- if(wSetObj){
- wSetObj.style.backgroundColor = wOutText;
- }
- }
-
- // --- 個別画面のonload呼び出し ----------------------------------
- if('rc_func' in cmanCP_VAR){
- try{
- eval(cmanCP_VAR["rc_func"]+'("'+wOutText+'")');
- }
- catch(e){
- alert('関数('+cmanCP_VAR["rc_func"]+')を実行できません');
- }
- }
-
- // --- カラーパレットを閉じる ----------------------------------
- cmanCP_JS_close();
-
- }
-
-
- // =========================================================================================
- // カラーパレット移動イベント
- // =========================================================================================
- function cmanCP_JS_mdown(argEvent){
-
- cmanCP_VAR['mdown']=1;
-
- cmanCP_VAR['sPosX'] = argEvent.clientX;
- cmanCP_VAR['sPosY'] = argEvent.clientY;
- cmanCP_VAR['sTop'] = parseInt(cmanCP_VAR["objPop"].style.top.replace("px", ""));
- cmanCP_VAR['sLeft'] = parseInt(cmanCP_VAR["objPop"].style.left.replace("px", ""));
-
- return false;
-
- }
- function cmanCP_JS_mup(argEvent){
- cmanCP_VAR['mdown']=0;
- }
- function cmanCP_JS_mout(argEvent){
- cmanCP_VAR['mdown']=0;
- }
-
- function cmanCP_JS_mmove(argEvent){
-
- if(cmanCP_VAR['mdown'] != 1){return;}
- cmanCP_VAR["objPop"].style.top = cmanCP_VAR['sTop'] - ( cmanCP_VAR['sPosY'] - argEvent.clientY) + 'px';
- cmanCP_VAR["objPop"].style.left = cmanCP_VAR['sLeft'] - ( cmanCP_VAR['sPosX'] - argEvent.clientX) + 'px';
-
- return false;
-
- }
-
|