/*!
 * Javascript Auth Library For maruho.co.jp Medical v0.6.0
 * http://www.rgb-inc.jp
 *
 * Copyright (c) 2011 Makoto Yoshijima <yoshijima@rgb-inc.jp>
 *
 * Date: 2009-04-24 00:07:27 JST
 * UPDATE: 2011-06-09 02:53:58 JST
 * Revision: 197
 *
 * need cookie.js
 */

// ---------------------------------------------------------------------
// 医療関係者向け情報のページにすべて適用する認証判断のためのスクリプト
// 基本動作
// ・cookieが発行されていないならば、check.htmlへ
// ・cookieのmedcheckが1でないならば、check.htmlへ
// ・cookieのmedcheckが1ならば、htmlを表示
// ・REFERRERがrefstrarryの文字列のどれかを含んでいれば、medcheckを1にする例外処理
// ・UserAgentがuastraryの文字列のどれかを含んでいれば、medcheckを1にする例外処理
// ---------------------------------------------------------------------
// 2011-10-21 ver.0.8
// 2011-06-09 ver.0.7
// 2009-04-24 ver.0.6
// 2009-04-23 ver.0.5
// 2009-04-22 beta
// ---------------------------------------------------------------------




// 定数定義1
var cookienm = "medcheck";  // 医療関係者を判断するcookieの変数
var val = "1";              // 医療関係者であれば、1

// 定数定義2:特定のREFERRERのときの例外処理用
var refsite = document.referrer; // REFERRERの取得
var refstrary = ["carenet.com","m3","famvir.jp","rgb-inc.jp"]; // 例外処理で使う参照元のURL文字列

// 定数定義3:UserAgentの例外処理
var uagent = navigator.userAgent.toLowerCase();
var uastrary = ["google web preview","googlebot","google"]; // 例外処理で使うUserAgent中の文字列


// 現在のURLの取得(IEがlocationでもERをとれないので、このかたちに変更
setCookie("refurl", location.href, false, "/", false, false);


/* debug --------------------------------------------------------- */
// cookieの登録
//document.cookie = 'test=2; path=/';
//document.cookie = 'medcheck=1; path=/';

/* --------------------------------------------------------------- */

// テストサーバでも使えるようにcheck.htmlのurlを指定する。
var chkurl;
if (location.href.indexOf("hotsetmaru", 0) > 0) {
 chkurl = "/hotsetmaru/maruho/medical/check.html";
} else {
 chkurl = "/medical/check.html";
}


// 例外処理1
// 特定のREFERRERからの接続は、強制的に医療関係者としてmedcheckに1を与える
// 2011-06-09 carenetの件で
//alert(refsite.indexOf(refstrary[i], 0));
for(var i in refstrary) {
  if (refsite.indexOf(refstrary[i], 0) >= 0) {
    
    setCookie("medcheck", "1", false, "/", false, false);
  }
}



// 例外処理2
// 特定のUserAgent(ロボットなど)からの接続は、強制的に医療関係者としてmedcheckに1を与える
// 2011-10-07 Google Instant Previewで医療関係者のプレビューを出すため
for (var i in uastrary) {
  if (uagent.indexOf(uastrary[i], 0) >= 0) {
    setCookie("medcheck", "1", false, "/", false, false);
  }
}


if (document.cookie) {
  if (document.cookie.indexOf(cookienm, 0) >= 0) {
    if (getCookie(cookienm) == val) {
      //alert("cookienmもvalもあり");
      ;
    } else {
      //alert("medcheckが1でない");
      location.replace(chkurl);
    }
  } else {
    //alert("cookieにmedcheckなし");
    location.replace(chkurl);
  }
} else {
  location.replace(chkurl);
}


/* 旧コード2 */
/*
if (document.cookie) {
  if (document.cookie.indexOf(cookienm, 0) >= 0) {
    if (getCookie(cookienm) == val) {
      //alert("cookienmもvalもあり");
      ;
    } else {
      //alert("medcheckが1でない");
      location.replace("/medical/check.html");
    }
  } else {
    //alert("cookieにmedcheckなし");
    location.replace("/medical/check.html");
  }
} else {
  location.replace("/medical/check.html");
}
*/


/* 旧コード */
/*
// cookieがない場合には、転送
if (document.cookie) {
  // cookie文字列にcookienmがあれば、cookienmの値の確認処理
  if (document.cookie.indexOf(cookienm, 0) >= 0) {
    var cookiesArray = document.cookie.split("; ");
    for (var i = 0; i < cookiesArray.length; i++) {
      var strArray = cookiesArray[i].split("=");
      // cookienmが存在し、値が合致したら、ループから抜ける。
      if (strArray[0] == cookienm) {
        if (strArray[1] == val) {
          alert("cookienmもvalもあり");
          break;
        } else {
          alert("medcheckが1でない");
          location.replace("check1.html");
        }
      }
    }
  } else {
    alert("cookieにmedcheckなし");
    location.replace("check1.html");
  }
} else {
    location.replace("check1.html");
}
*/

