/* <meta content="charset=UTF-8" /> */
/*===================================
初期設定
===================================*/

// 初期状態の値を設定（ダブルクオートやクオートで括る）
var defaultRel = "external,nofollow";

// クッキーの名前（ダブルクオートかクオートで括る）
var exckName = "nahito_external";

// クッキーの有効期限（日）（ダブルクオートやクオートで括らない）
var exckDays = 365;

// クッキーのパス（ダブルクオートかクオートで括る。指定が不要の場合は"/"にする）
var exckPath = "/"


/*===================================
ページ読み込み時の値を設定
===================================*/

// クッキー読み出し
var exCK = GetCookie( exckName );

if ( exCK == null ){
  var currentRel = defaultRel;          //クッキーが無ければ現在の値を初期状態の値に設定
}
else{
  var currentRel = eval( exCK );          
}


/*===================================
head内にjavascript要素を出力
===================================*/

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") ==  currentRel)//currentRelで調整
anchor.target = "_blank";
}
}
window.onload=externalLinks;

/*===================================
  [関数 fsc]
  引数CMDeに渡される値に応じて
  変更後の値を算出しクッキーに書き込む。
====================================*/

function external( CMDe ){

  // 拡大：現時点の値に一回の操作で変化させる値を加えて操作後の値"newRel"に代入
  if ( CMDe == "off" ){
    var newRel = String( "off" );
    SetCookie( exckName , newRel );          //クッキー書き込み
  }

  // 元に戻す：操作後の値を初期値にする
  if ( CMDe == "on" ){
    DeleteCookie( exckName );          //クッキー削除
  }

  // ページの再読み込み
  // 再読み込みをすることで変更後の値を反映したstyle要素が出力される
  location.reload();
}


/*===================================
  [関数 SetCookie]
  クッキーに値を書き込む
====================================*/
function SetCookie( name , value ){
  var dobj = new Date();
  dobj.setTime(dobj.getTime() + 24 * 60 * 60 * exckDays * 1000);
  var expiryDate = dobj.toGMTString();
  document.cookie = name + '=' + escape(value) + ';expires=' + expiryDate + ';path=' + exckPath;
}

/*===================================
  [関数 GetCookie]
  クッキーを取得する
====================================*/
function GetCookie (name){
  var arg  = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen){
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
    return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}

/*===================================
  [関数 getCookieVal]
  クッキーの値を抽出する
====================================*/
function getCookieVal (offset){
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset,endstr));
}

/*===================================
  [関数 DeleteCookie]
  クッキーを削除する
====================================*/
function DeleteCookie(name){
  if (GetCookie(name)){
    document.cookie = name + '=' +
    '; expires=Thu, 01-Jan-70 00:00:01 GMT;path='+exckPath;
  }
}

//EOF