// CSSの任意切替JavaScript
// JavaScriptをオフられるとどうにもできないことはご容赦を。

// クッキーの名前。
var cookieName = "midcms";

// クッキーの有効期限。日数で指定。
var cookieExpDays = 30;

// クッキーのパス設定。例えば、サイトのホームディレクトリのパス("/" や
// "/~user/")を指定すれば、1ページでのスタイル切替をサイト内のすべての
// ページに反映させるようなことも可能です。
var cookiePath = "/";
//var styleidx = "";
var styleSheets = new Array();
var changeCSS = "";

styleSheets[0] = "no.css";
styleSheets[1] = "default.css";
styleSheets[2] = "screen.css";
styleSheets[3] = "main.css";
styleSheets[4] = "print.css";
styleSheets[5] = "area.css";
styleSheets[6] = "theme.css";
styleSheets[7] = "add_top_default.css";
styleSheets[8] = "add_top_screen.css";
styleSheets[9] = "tools.css";
styleSheets[10] = "stay.css";
styleSheets[11] = "info.css";
styleSheets[12] = "sitemap.css";
styleSheets[13] = "topics.css";

new getArg();
if (getArg.data.css) {
 var s;
 s = getArg.data.css
 if (s == "") {
  changeCSS = getCookie(cookieName);
  if (changeCSS == "") {
   changeCSS = styleSheets[0];
  }
 } else {
  for (i = 0; i < styleSheets.length; i++) {
   if (styleSheets[i] == s) {
    changeCSS = styleSheets[i];
    break;
   }
  }
 }

 if (changeCSS) {
  //何もしません:-)
 } else {
  changeCSS = styleSheets[0];
 }
 
 setCookie(cookieName, changeCSS, cookieExpDays, cookiePath);
 
} else {
 changeCSS = getCookie(cookieName);
 if (changeCSS == "") {
  changeCSS = styleSheets[0];
 }
}

document.write("<link rel=\"stylesheet\" href=\"http://www.at-nagasaki.jp/css/"+changeCSS+"\" type=\"text/css\" media=\"screen\" />");

/*
 * クッキーを取得する。
 */
function getCookie(name) {
 return document.cookie.match("\\b" + name + "=([^;]*)")
  ? unescape(RegExp.$1) : "";
}

/*
 * クッキーを発行する。
 */
function setCookie(name, value, days, path) {
 var       temp  =   name + "=" + escape(value);
 if (days) temp += "; expires=" + expires(days);
 if (path) temp += "; path="    + escape(path);
 document.cookie = temp;
}
function expires(days) {
 var date = new Date();
 date.setTime(date.getTime() + (days * 24*60*60*1000));
 return date.toGMTString();
}

/*
 * get変数を解析します。
 */
function getArg(){
 getArg.data = new Array();
 getArg.string = location.search.substring(1);//?をサプレス
 if (getArg.string) {
  getArg.string = getArg.string.split('&');
  for(var i = 0; i != getArg.string.length; i++) {
      getArg.data[ck_shikibetushi(getArg.string[i].split('=')[0])] 
        =  Escape(unescape(getArg.string[i].split('=')[1]));
  }
 }

 function ck_shikibetushi(shiki){ //識別子（プロパティ）の命名チェック
     shiki_TOP = shiki.substring(0,1);
     if(shiki_TOP.match(/[a-zA-Z_$]/g) == null){
    alert(shiki+"の引数が不正です。（一文字目は、ASCII、_、$、のいずれかです。）");
    return null;
     }
     else if(shiki.match(/[^a-zA-Z0-9_$]/g) != null){
    alert(shiki+"の引数が不正です。（命名文字は、ASCII、数字、_、$、のいずれかです。）");
    return null;
     } 
     return shiki;
 }

 function Escape(str){ //文字参照へ変換 
  str = str.replace( /\&/g, '&amp;' );
  str = str.replace( /</g, '&lt;' ); 
  str = str.replace( />/g, '&gt;' ); 
  str = str.replace( /\"/g, '&quot;' );
  str = str.replace( /\'/g, '&#39;' );
  return str;
    }
}
