/*
 * cookie.js - Utilities for Cookie.
 */

// MAX Disp Shop-Number
var snum = 5;

// Check Nable to Using Cookie
function usecookie() {
  if (window.navigator.cookieEnabled) { /*alert("クッキーは利用できます。");*/ }
  else { alert("クッキーは利用できません。"); }
}

// Get Cookie
function getcookie(){

  ckary = new Array();

  // Cookieがない場合の処理
  cklng = document.cookie.length;
  if (cklng == 0){
    return "";
  }

  // 文字列の取得
  ckary = document.cookie.split("; ");
  ckstr = "";

  // 文字列の抽出
  i = 0;
  while (ckary[i]){
    if (ckary[i].substr(0,5) == "data="){
      ckstr = ckary[i].substr(5,ckary[i].length);
      break;
    }
    i++;
  }
  ckstr = ckstr.replace(/BIGipServerBSD.*00%00/, "");
  ckstr = ckstr.replace(/BIGipServerpool.*00%00/, "");


  // 文字列を返す
  return ckstr;

}

// Get Number of Data in Cookie
function getdatanum(){

  ckary = new Array();
  ckary_tmp = new Array();

  // Cookieがない場合の処理
  cklng = document.cookie.length;
  if (cklng == 0){
    return 0;
  }

  // 文字列の取得
  ckary = document.cookie.split("; ");
  ckstr = "";

  // 文字列の抽出
  i = 0;
  while (ckary[i]){
    if (ckary[i].substr(0,5) == "data="){
      ckstr = ckary[i].substr(5,ckary[i].length);
      break;
    }
    i++;
  }
  ckstr = ckstr.replace(/BIGipServerBSD.*00%00/, "");
  ckstr = ckstr.replace(/BIGipServerpool.*00%00/, "");


  ckary_tmp = ckstr.split("%00");

  // 文字列を返す
  return ckary_tmp.length;

}


// Set Cookie
function setcookie(data){

  var ckstr = "";

  // Cookieに既に5件設定されている場合の処理
  cklng = getdatanum();
  if (cklng >= snum){
    return "";
  }

  //data.split(",");

  // 既に設定してある情報を取得
  ckary = new Array();
  ckary_tmp = getcookie();
  // 既に情報が設定してあった場合の処理
  if (ckary_tmp != ""){
    // 文字列の分離
    if (cklng != 0){
      ckary = ckary_tmp.split("%00");
    }
    // 重複チェック
    for (i=0;i < ckary.length;i++){
      if (ckary[i] == data){ return ""; }
    }
  }

   ckary.push(data);

  // 時刻生成
  exp=new Date();
  exp.setTime(exp.getTime()+1000*60*60*24*1);

  // 対象文字列の ESCAPE 化
  ckstr = escape(ckary[0]);
  for (i=1;i < ckary.length;i++){
    ckstr +="%00" + escape(ckary[i]);
  }

  // Cookie 書き込み処理
  ckstr = ckstr.replace(/BIGipServerBSD.*%00/, "");
  ckstr = ckstr.replace(/BIGipServerpool.*00%00/, "");
  ckstr = ckstr.replace(/JSESSIONID.*%00/, "");
  outstr = "data=" + ckstr + "; path=/; expires=" + exp.toGMTString();

  document.cookie = outstr;

}


function trimcookie(data){

  // うまく動いてくれないので、やむを得ずFlag処理
  var closeFlag = false;
  // Cookieに既に1件しか設定されていない場合の処理
  cklng = getdatanum();
  if (cklng == 1){closeFlag=true}

  // 既に設定してある情報を取得
  ckary_str = getcookie();
  ckary_str = ckary_str.replace(/data%.*D/, "");

  // 既に情報が設定してあった場合の処理
  if (ckary_str != ""){
    // 文字列の置換
    if (cklng != 0){
      ckary_str = ckary_str.replace(escape(data), "");
      ckary_str = ckary_str.replace("%00%00", "%00");
      ckary_str = ckary_str.replace(/^%00/, "");
      ckary_str = ckary_str.replace(/%00$/, "");
    }
  }

  // 時刻生成
  exp=new Date();
  exp.setTime(exp.getTime()+1000*60*60*24*1);

  // Cookie 書き込み処理
  outstr = "data=" + ckary_str + "; path=/; expires=" + exp.toGMTString();
  document.cookie = outstr;

  if (closeFlag == true){clearcookie();parent.window.close();}


}


function clearcookie(){
  null_str = "";
  expires_str = "data=" + null_str + "; expires=" + "Fri, 31-Dec-1999 23:59:59 GMT";
  document.cookie = expires_str;
}


