/* Stylesheet Selector for IE 5+ and Gecko (Standards EDITION) v 0.8.0 (c) Hiro Konda. 2005/07/27 http://www.minc.ne.jp/~konda/web_resoce/js/css-select/index.html */ var d = document; var w = window; var nv = navigator; var ua = nv.userAgent; /* ++++ Settings [START] (設定 ここから) ++++ */ // IE 5.0以降のみ動作? var cssFormIeOnly = false; // クッキーを使用して CSS選択タイトル記憶? var cssCookieEnabled = true; // クッキー名 var cssCookieTitleKey = "CSS_SELECT";// 選択タイトルキー var cssCookieDisplayKey = "CSS_SELECT_DISP";// ウィンドウ表示キー // クッキー有効 期限日数 var cssCookieExpiresDays = 15; // クッキー有効 ディレクトリ var cssCookiePath = (w.location.protocol == "file:") ? '' : '/~konda/'; // スタイル無効化用 クッキー保存タイトル var cssDisabledTitle = "Disabled CSS"; // スタイル選択フォーム用 挿入先ID (無しだと body 直下) var cssFormInsId = ""; // スタイル選択フォーム用 スタイル (不要ならば、空にしてください。外部CSSならば #cssForm) var cssFormStyle = "position:absolute;z-index:10000;top:0.5em;right:1.5em;border:#ccc 2px solid;padding:0.2em;background-color:#fff;color:#000;text-align:right;font-size:9pt !important"; // エラーメッセージを抑圧する var cssAlertSuppress = false; // タイトルが不明な場合は、各ページ共通スタイルとして有効か? var cssNoTitleEnabled = true; // バージョン情報 (不要ならば、空にしてください) var cssScriptVersion = "Stylesheet Selector for IE 5+ and Gecko v 0.8.0\n\n"; /* ++++ Settings [END] (設定 ここまで) ++++ */ var nsURI = (d.documentElement && d.documentElement.namespaceURI) ? d.documentElement.namespaceURI : ''; var isXHTML = (nsURI == 'http:\/\/www.w3.org\/1999\/xhtml' || nsURI == 'http:\/\/www.w3.org\/2002\/06\/xhtml2\/') ? 1 : 0; var userLang = (nv.userLanguage) ? nv.userLanguage : (nv.language) ? nv.language:''; var jp = (userLang.indexOf('ja')!=-1) ? 1 : 0; // alert('nsURI = '+nsURI +' XHTML (y/n) ? '+ isXHTML); /* ++++ JavaScript Support Check ++++ */ var axo = (w.ActiveXObject) ? 1 : 0; var gtn = (d.getElementsByTagName) ? 1 : 0; var ccs = (d.createCDATASection) ? 1 : 0; var cns = (d.createElementNS) ? 1 : 0; var cm = (d.compatMode) ? 1 : 0; var op = (w.opera) ? 1 : 0; var vs = (nv.vendor && typeof nv.vendor == 'string') ? 1 : 0; var jsv = 0; var winIe = 0; var macIe = 0; /*@cc_on jsv = @_jscript_version; @if (@_win64 || @_win32 || @_win16) winIe = 1; @elif (@_mac && (@_PowerPC || @_mc680x0)) macIe = 1; @end @*/ var saf = (vs && ccs && cns && ua.indexOf('AppleWebKit') != -1) ? 1 : 0; var kde = (vs && ccs && cns && ua.indexOf('Konqueror') != -1) ? 1 : 0; var gec = (vs && ccs && cns && nv.product && nv.product == 'Gecko' && !saf && !kde) ? 1 : 0; var winIe7 = (winIe && gtn && cm && axo && jsv > 5.6) ? 1 : 0; var winIe6 = (winIe && gtn && cm && axo && jsv == 5.6) ? 1 : 0; var winIe55 = (winIe && gtn && !cm && axo && jsv == 5.5) ? 1 : 0; var winIe5 = (winIe && gtn && !cm && axo) ? 1 : 0; var macIe5 = (macIe && gtn && !cm && !cns && ccs) ? 1 : 0; var op8 = (op && cns && ccs) ? 1 : 0; var op7 = (op && cns && !ccs && cm) ? 1 : 0; var op6 = (op && !cns && !cm) ? 1 : 0; var nn4 = (d.layers) ? 1 : 0; /* ブラウザ別実行 */ if (winIe7 || winIe6 || winIe55 || winIe5) { w.attachEvent("onload", cssInIt); } else if (macIe5) { w.onload = function() { cssInIt();} } else if (op7 || op8) { w.attachEvent("onload", cssInIt); } else if (d.implementation && d.implementation.hasFeature("HTMLEvents", "2.0")) { /* Gecko, Safari */ w.addEventListener("load", cssInIt, false); } else if (nn4) { var nW = w.innerWidth; var nH = w.innerHeight; w.captureEvents(Event.RESIZE); w.onresize = onresizeNN4; } /* 開始チェック (各種エラー避け) */ function cssInIt() { /* 最低限これが動かなきゃ...。 */ if (!(d.getElementsByTagName || d.getElementsByTagNameNS)) { return;} /* IE 専用ですか? */ if (cssFormIeOnly && !((winIe || macIe))) { cssErrFunc(1,''); return;} /* Opera 7.5+ は、application/xhtml+xmlでこけます。(head 要素の存在確認) */ if (op7 && isXHTML) { var checkOpe = GetElementsByTagName(nsURI,'head'); if (checkOpe.length == 0) { return;} } /* さて選択フォームを作りましょう */ makeCssSelectForm(); } /* スタイル選択フォームを作る */ function makeCssSelectForm() { /* スタイルシート配列 取得 */ var ss = (d.styleSheets) ? d.styleSheets : getStyleSheetsArray(true); if (!ss) { return;} /* フォーム挿入先要素 */ var insTopElement = (cssFormInsId == '') ? (GetElementsByTagName(nsURI,'body')).item(0) : d.getElementById(cssFormInsId); /* cookie 取得 */ var getCssTitle = (nv.cookieEnabled && cssCookieEnabled) ? getCookie(cssCookieTitleKey) : ""; var getCssDisplay = (nv.cookieEnabled && cssCookieEnabled) ? getCookie(cssCookieDisplayKey) : ""; var i = 0; var selIdx = 0; var mulIdx = 0; var ssLeng = ss.length; /* フォームバッファ */ var optBuf = new Array(ssLeng + 1); var frmBuf = ''; /* フォーム設定リソース */ var buttonStyle = "cursor:pointer;_cursor:hand;"; var buttonHelpStyle = "cursor:help;"; if (jp) { optBuf[ssLeng] = 'Disabled CSS (無効)'; var actButton = '変更'; var helpTips = 'ヘルプ'; var cookieClearTips = 'Cookie消去'; var closeTips = 'スタイルフォーム最小化'; openTips = 'スタイルフォーム最大化'; } else { optBuf[ssLeng] = 'Disabled CSS'; var actButton = 'Change'; var helpTips = 'Help ?'; var cookieClearTips = 'Set old expires Cookie'; var closeTips = 'CSS Selecter Menu Hide'; var openTips = 'CSS Selecter Menu Show'; } /* cookie 取得タイトルによるスタイル初期化 */ if (getCssTitle != "") { if (getCssTitle == cssDisabledTitle) { cssSetDisabled(-1); selIdx = ssLeng; } else if (ssLeng > 0) { while (i < ssLeng) { if (ss[i].title == getCssTitle) { selIdx = i; break;} i++; } if (i < ssLeng) { if (ss[i].disabled == true) { cssSetDisabled(i);} } i = 0; } } /* スタイルタイトル取得 */ while (i < ssLeng) { optBuf[i] = (ss[i].title && typeof ss[i].title == 'string') ? ss[i].title : 'StyleSheet ['+i+']'; if (ss[i].disabled == false) { mulIdx++; if (mulIdx < 2) { selIdx = i;}} i++; } /* (X)HTMLベタフォーム部品を作る */ if (!isXHTML) { frmBuf = '
'; if (cssCookieEnabled) { frmBuf += '';} frmBuf += ''; frmBuf += '<\/div>'; frmBuf += '