var selectedNum; function SSS() { //----------------------------------------------------- // 基本設定 //----------------------------------------------------- // 各シートのファイルパスの規準ディレクトリ SSS.rootPath = './'; //on web SSS.sheetsInitialize = function() { // シートの設定 メイン幅 パディング バー幅 バー幅(縦長の場合は横幅、他は0に) Sheet('Default', 'lavi_page_pvs_css.php','400','5','56','56'); Sheet('Printable', 'lavi_page_print_pvs_css.php','0','0','0','1044'); Sheet('type103', 'lavi_page_103_css.php','0','0','0','712'); Sheet('Clover-Navy', 'lavi_page_104_css.php','400','5','56','56'); Sheet('Cloverfield', 'lavi_page_105_css.php','400','5','56','56'); Sheet('Birthday', 'lavi_page_106_css.php','400','5','56','56'); }; // NN4.x 専用のシートのパス(複数指定可) SSS.NN4Sheets = 'none'; // HTML 3.2/HTML 4 →「0」 // XHTML 1.0 →「1」 // XHTML 1.1 →「2」 SSS.modeXhtml = 2; //----------------------------------------------------- // 選択されなかったシートを代替シートとして出力する場合は「 true 」 SSS.modeAlternate = true; // 選択シート情報のクッキーの保持期限(日) SSS.cookieLimit = 30; // シートの選択リスト中で、デフォルトのシート名の後に表示する文字列 SSS.defaultStr = ''; // 隠しシート機能を無効にする場合は「false」 SSS.modeHidden = true; // 隠しシートを disabled 状態でリストに表示する場合は「 true 」 SSS.viewDisabled = false; //----------------------------------------------------- //----------------------------------------------------- // 初期化 SSS.xhtmlTagClose = (SSS.modeXhtml > 0) ? ' /' : '' ; SSS.defaultSheetIndex = 1; SSS.counter = 0; SSS.NN4Num = 0; SSS.param = unescape(location.search); SSS.param = SSS.param.substring(1, SSS.param.length); //----------------------------------------------------- //----------------------------------------------------- // スタイルの判別及び link 要素の出力 SSS.writeHeader = function() { Sheet('NON STYLE'); SSS.sheetsInitialize(); SSS.NN4Num = SSS.counter; Sheet('With-Style', SSS.NN4Sheets); // 選択スタイルの情報を取得( with Cookie ) SSS.selectedId = JCookie.data.Selected; if (!SSS.selectedId || (!UA.NN4 && SSS.selectedId == sheets[SSS.NN4Num].id)) SSS.selectedIf = sheets[SSS.defaultSheetIndex].id; for (var i = 0; i != SSS.NN4Num; i++) { if (SSS.param == sheets[i].id) SSS.selectedId = sheets[i].id; if (SSS.param == sheets[i].id+'-FORCE') { SSS.selectedId = sheets[i].id; JCookie.put('Selected', SSS.selectedId, 30); } } // スタイル判別と link 要素の出力 if (SSS.selectedId == sheets[0].id) sheets[0].selected = true; if (UA.NN4) { if (SSS.NN4Sheets != 'none' && !sheets[0].selected) { sheets[SSS.NN4Num].selected = true; SSS.makeLink(true, sheets[SSS.NN4Num].id, SSS.NN4Sheets); } } else { if (!sheets[0].selected) { for (i = 1; SSS.selectedId != sheets[i].id; i++) if (i == SSS.NN4Num) { i = SSS.defaultSheetIndex; break; } sheets[i].selected = true; selectedNum = i; } for (i = 1; i != SSS.NN4Num; i++) SSS.makeLink(sheets[i].selected, sheets[i].id, sheets[i].path, sheets[i].media); } } // linking stylesheet SSS.makeLink = function(selected, title, paths, media) { if (paths == '') return; if (!media) media = (UA.NN4) ? 'screen' : 'all' ; var titleStr = (title) ? '|title|'+title : '' , alternateStr = (selected) ? '' : 'alternate ' , splitedPaths = new Array(); splitedPaths = paths.split(','); for ( var i = 0; i != splitedPaths.length; i++) { if (!(!SSS.modeAlternate && !selected)) document.write( makeNode('link|type|text/css|rel|'+alternateStr+'stylesheet|href|'+SSS.rootPath+splitedPaths[i]+titleStr+'|media|'+media) ); } } //----------------------------------------------------- //----------------------------------------------------- // 選択フォームの出力 SSS.writeForm = function() { SSS.styleForm = (UA.NN4 && SSS.NN4Sheets == 'none') ? '' : SSS.styleForm = makeNode('div|id|StyleSel', 'Style: ' + makeNode('select|id|Styles|name|Styles|onchange|SSS.formApply(this);',SSS.makeOptions() ) ); var nameStr = (SSS.modeXhtml > 1) ? '' : 'name|StyleSelForm|' ; document.write( makeNode('form|'+nameStr+'id|StyleSelForm|action|'+location.href,SSS.styleForm) ); } // 送信 SSS.formApply = function(obj) { JCookie.put('Selected', sheets[obj.options[obj.selectedIndex].value].id, SSS.cookieLimit); location.href = location.href.match(/[^#?]*/); } SSS.makeOptions = function() { var optgroupOpen = false, options = '', optgroup = ''; if (UA.NN4) options = SSS.makeOption(SSS.NN4Num); else { for ( var n = 1; n != SSS.NN4Num; n++) { if (sheets[n].group != sheets[n-1].group) { options += (optgroupOpen && optgroup != '' && !UA.N6) ? makeNode('optgroup|label|'+sheets[n-1].group, optgroup) : optgroup ; optgroup = ''; if (sheets[n].group != '') optgroupOpen = true; } if (!sheets[n].hidden) optgroup += SSS.makeOption(n); } options += (optgroupOpen && optgroup != '' && !UA.N6) ? makeNode('optgroup|label|'+sheets[n-1].group, optgroup) : optgroup ; } return(options+SSS.makeOption(0)); } SSS.makeOption = function(num) { var selAtt = (sheets[num].selected) ? '|selected|selected' : '' ; selAtt += (sheets[num].disabled) ? '|disabled|disabled' : '' ; var defValue = (num == SSS.defaultSheetIndex) ? SSS.defaultStr : '' ; return(makeNode('option|value|'+num+'|label|'+sheets[num].label+selAtt, sheets[num].label+defValue)); } //----------------------------------------------------- // おまけ:スタイルが選択されているか否かを判別する関数(未使用) SSS.selected = function(name) { return (SSS.selectedId == name); } } new SSS(); // シート定義 var sheets = new Array(); function Sheet(label, path, main, pad, bar,adds , media, Default, hide) { var n = SSS.counter; if (Default) SSS.defaultSheetIndex = n; sheets[n] = new Array(); sheets[n].id = label; sheets[n].label = label; sheets[n].path = path; sheets[n].group = ''; sheets[n].media = (media) ? media : false ; sheets[n].main = main; sheets[n].pad = pad; sheets[n].bar = bar; sheets[n].adds = adds; if (SSS.modeHidden) { sheets[n].disabled = (SSS.viewDisabled && hide) ? true : false ; sheets[n].hidden = (SSS.viewDisabled) ? false : hide ; } else { sheets[n].disabled = false; sheets[n].hidden = false; } sheets[n].selected = false; var at = label.indexOf('@'); if (at > -1) { sheets[n].group = label.substring(at+1, label.length); sheets[n].label = label.substring(0, at); } SSS.counter++; } // UA 判別(汎用) function UA() { UA.strings = navigator.userAgent; UA.IE55 = (UA.strings.indexOf('MSIE 5.5') > -1 || UA.strings.indexOf('MSIE 6') > -1); UA.NN4 = (document.layers); UA.N6 = (UA.strings.indexOf('Netscape6/6.0') > -1); UA.type = 'others'; if (UA.strings.indexOf('MSIE 5') > -1) UA.type = 'IE5'; else if (UA.strings.indexOf('Gecko') > -1) UA.type = 'Mozilla'; else if (document.all) UA.type = 'IE4'; else if (UA.NN4) UA.type = 'NN4'; } new UA(); // クッキー関係の処理(汎用) function JCookie() { JCookie.data = new Array(); JCookie.string = (document.cookie) ? document.cookie.split(';') : new Array() ; for (var i = 0; i != JCookie.string.length; i++) { JCookie.data[JCookie.string[i].split('=')[0].match(/[^ ].*/)] = JCookie.string[i].split('=')[1]; } JCookie.put = function(name ,data ,limit) { var date = ''; if (limit) { today = new Date(); today.setTime(today.getTime()+1000*60*60*24*limit); date = ';expires='+today.toGMTString(); } document.cookie = name+'='+data+';path=/'+date; } } new JCookie(); // 要素を生成(汎用) function makeNode(param, content) { if (param == '') return content; var element = param, attsString = ''; if (param.indexOf('|') > -1) { var atts = param.split('|'); element = atts[0]; for (var i = 1; i < atts.length; i+=2) attsString += ' '+atts[i]+'="'+atts[i+1]+'"'; } return (!content) ? '<'+element+attsString+SSS.xhtmlTagClose+'>\n' : '<'+element+attsString+'>'+content+'<\/'+element+'>\n'; } SSS.writeHeader(); NAT =""; if (selectedNum) { var page_width=1*sheets[selectedNum].adds+(1*sheets[selectedNum].main+2*sheets[selectedNum].pad+1*sheets[selectedNum].bar)*page; if (1*sheets[selectedNum].main==0) { NAT+=""; } else { NAT+=""; } } else { NAT+=""; } document.write(NAT);