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);