/* ■Initialize■ */

/* フォントサイズは2～4、以下に初期値を設定 */
var nDefault = 3;

/* Cookie 設定の属性名 */
var sNameSession = "uwsSession";
var sNameFontSize = "uwsFontSize";
var sNameDate = "uwsDate";
var sNameCollection = "uwsCollection";

var nError = 0;

/* OS チェック（Win/Mac のみ） */
var sOsName = navigator.appVersion;
var sO = "";
if (-1 != sOsName.indexOf("Mac")) {
  sO = "mac";
} else {
  sO = "win";
}
/* ブラウザ チェック（Opera/Safari/IE/NN/FF のみ） */
var sBrowser = navigator.appName.toUpperCase();
var sBrowVersion = navigator.userAgent.toUpperCase();

var sB = "";
if (-1 != sBrowVersion.indexOf("OPERA")) {
  sB = "op";
} else if (-1 < sBrowVersion.indexOf("SAFARI")) {
  sB = "sa";
} else if (-1 < sBrowVersion.indexOf("FIREFOX")) {
  sB = "ff";
} else if ("M" == sBrowser.charAt(0)) {
  sB = "ie";
} else if ("N" == sBrowser.charAt(0)) {
  sB = "nn";
} else {
  sB = "ot";
}

/* ---------------------------------------------------- */
/* ■Cookie 処理■ */

function getCookie(key,  tmp1, tmp2, xx1, xx2, xx3) {
  tmp1 = " " + document.cookie + ";";
  xx1 = xx2 = 0;
  len = tmp1.length;
  while (xx1 < len) {
    xx2 = tmp1.indexOf(";", xx1);
    tmp2 = tmp1.substring(xx1 + 1, xx2);
    xx3 = tmp2.indexOf("=");
    if (tmp2.substring(0, xx3) == key) {
      return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
    }
    xx1 = xx2 + 1;
  }
  return("");
}
function setCookie(key, val, tmp) {
  tmp = key + "=" + escape(val) + "; expires=Tue, 31-Dec-2030 23:59:59 GMT; path=/;";
  document.cookie = tmp;
}
function setCookieSession(key, val, tmp) {
  tmp = key + "=" + escape(val) + ";";
  document.cookie = tmp;
}
function clearCookie(key) {
  document.cookie = key + "=" + "xx; expires=Tue, 1-Jan-1980 00:00:00 GMT; path=/;";
}


function getCollectionNum() {
  return getCookie(sNameCollection);
}
function collection_select(x) {
  setCookie(sNameCollection, x);
}
function collection_select_reload(x) {
  setCookie(sNameCollection, x);
  location.reload();
}

/* ---------------------------------------------------- */
/* ■Session 処理■ */

nSession = getCookie(sNameSession);

/* セッションを確立 */
function uws_session(nNumber) {
  setCookieSession(sNameSession, nNumber);
}

/* ---------------------------------------------------- */
/* ■Get■ */

/* 保存データの取得 */
function uws_load() {
  var nFontSize = getCookie(sNameFontSize);
  if ("" == nFontSize) {nFontSize = nDefault;}
  return nFontSize;
}

/* 前回保存データの日付取得 */
function uws_date() {
  var vDate = getCookie(sNameDate);
  if ("" == vDate) {vDate = "????";}
  return vDate;
}

/* 日付の取得 */
function now_date() {
  var vNewDate = new Date();
  var ye = vNewDate.getYear();  if (ye < 1900) ye += 1900;
  var mo = vNewDate.getMonth() + 1;  if (mo < 10) mo = "0" + mo;
  var da = vNewDate.getDate();  if (da < 10) da = "0" + da;
  var ho = vNewDate.getHours();  if (ho < 10) ho = "0" + ho;
  var mi = vNewDate.getMinutes();  if (mi < 10) mi = "0" + mi;
  var se = vNewDate.getSeconds();  if (se < 10) se = "0" + se;
  var date = ye + "/" + mo + "/" + da + " " + ho + ":" + mi + ":" + se;
  return(date);
}

/* ---------------------------------------------------- */
/* ■ページ表示■ */

/* 表示ページにスタイルシートを適用（nChange：0 初期表示、1 変更処理） */
function uws_css(nFileNumber, nChange) {

/*
  alert("セッションエラー（0 は正常、1 or 2 はエラー）：" + nError);
  alert("フォントサイズ：" + nSession);
  alert("前回の訪問日：" + uws_date());
  alert("OS/ブラウザ：" + sO + "/" + sB);
*/

/* ブラウザ別のスタイルシート */
  if ("op" == sB) {
  var sFileName = "/jp/html/css/styleie" + nFileNumber + ".css";
  } else if ("sa" == sB) {
  var sFileName = "/jp/html/css/stylesa" + nFileNumber + ".css";
  } else if ("ff" == sB) {
  var sFileName = "/jp/html/css/stylenn" + nFileNumber + ".css";
  } else if ("ie" == sB) {
  var sFileName = "/jp/html/css/styleie" + nFileNumber + ".css";
  } else if ("nn" == sB) {
  var sFileName = "/jp/html/css/stylenn" + nFileNumber + ".css";
  } else if ("ot" == sB) {
  var sFileName = "/jp/html/css/styleie" + nFileNumber + ".css";
  }

/* ボタン表示 */
  if (1 == nChange) {
    if ("ie" == sB) {
      document.createStyleSheet(sFileName);
      /* 文字サイズボタンの「大」「中」「小」を変更 */
      if (4 <= nFileNumber) {
        document.type_big.src="/jp/html/images/common/typebig_on.gif";
        document.type_mid.src="/jp/html/images/common/typemid_off.gif";
        document.type_sml.src="/jp/html/images/common/typesml_off.gif";
      } else if (3 == nFileNumber) {
        document.type_big.src="/jp/html/images/common/typebig_off.gif";
        document.type_mid.src="/jp/html/images/common/typemid_on.gif";
        document.type_sml.src="/jp/html/images/common/typesml_off.gif";
      } else {
        document.type_big.src="/jp/html/images/common/typebig_off.gif";
        document.type_mid.src="/jp/html/images/common/typemid_off.gif";
        document.type_sml.src="/jp/html/images/common/typesml_on.gif";
      }
    } else {
      location.reload();
    }
  } else {
    document.write("<link rel=\"stylesheet\" href=\"" + sFileName + "\" type=\"text/css\">");
  }
}

function uws_type(sName) {
  var n = getCookie(sNameSession);
  var sReturn = "off";
  if (4 == n && "big" == sName) {
    sReturn = "on";
  } else if (3 == n && "mid" == sName) {
    sReturn = "on";
  } else if (2 == n && "sml" == sName) {
    sReturn = "on";
  }
  return sReturn;
}

/* セッションのチェック */
// 階層の違う処理もあるので、セッションCookieを無視（2007.2.13）
// if (2 > nSession || "" == nSession) {
  nError = 1;
  nSession = uws_load();
  uws_session(nSession);
// }
if (2 <= nSession && 4 >= nSession) {
  uws_css(nSession, 0);
} else {
  /* Cookie が OFF の場合は常にデフォルト値 */
  nError = 2;
  uws_css(nDefault, 0);
}

/* ---------------------------------------------------- */
/* ■User 処理■ */

/* 設定変更を保存 */
function uws_save(nNumber) {
  if (nNumber != nSession) {
    nSession = nNumber;
    uws_session(nSession);
    setCookie(sNameFontSize, nSession);
/*    setCookie(sNameDate, now_date());    */
    uws_css(nSession, 1);
  }
}

function uws_clear() {
  clearCookie("uwsFontSize");
  clearCookie("uwsDate");
}

/* make:ejworks.com */
/* date:2005.11.1 */
/* update:2007.3.23 */
