// -----------------------------------------------------------------------------
// peekaboo.js : CSS要素の表示・非表示するスクリプト
//
// このスクリプトはjquery.js, jquery.cookie.jsを使用するため、事前に読込むこと
// -----------------------------------------------------------------------------

/**
 * 表示リスト
 */
var show = new Array();
/**
 * 隠蔽リスト
 */
var hide = new Array();
/**
 * クッキー名
 */
var cookieName = '';

/**
 * 表示リストを設定する
 *
 * @param string label : ラベル
 * @param array list : 表示される要素のリスト
 */
function setShow(label, list){
  show[label] = list;
}

/**
 * 非表示リストを設定する
 *
 * @param string label : ラベル
 * @param array list : 非表示される要素のリスト
 */
function setHide(label, list){
  hide[label] = list;
}

/**
 * 状態を保持するクッキーの名前を設定し、クッキーを読み込み
 * 存在すればさっそく実行する
 * 保持しなくてよい場合は''を設定する
 *
 * @param string key : クッキー名
 */
function setKeeping(key){
  cookieName = key;

  if(cookieName){
    kie = $.cookie(cookieName);
  }
  if(kie){
    peekaboo(kie);
  }
}

/**
 * ラベルに紐付いた要素を非表示・表示させる
 *
 * 先に非表示され表示されるので表示のほうが有効になる
 *
 * @param string label : ラベル
 */
function peekaboo(label) {
	_peekaboo_hide(label);
	_peekaboo_show(label);
}

function _peekaboo_show(label) {
  for(var i=0; i<show[label].length; i++){
    $(show[label][i]).show();
  }

  if(cookieName){
    $.cookie(cookieName, label);
  }
}
function _peekaboo_hide(label) {
  for(var i=0; i<hide[label].length; i++){
    $(hide[label][i]).hide();
  }

  if(cookieName){
    $.cookie(cookieName, label);
  }
}

// -----------------------------------------------------------------------------

$( function(){
  setShow('riding', ['#tab01']);
  setHide('riding', ['#tab02', '#tab03']);
  setShow('comfort', ['#tab02']);
  setHide('comfort', ['#tab01', '#tab03']);
  setShow('luxury', ['#tab03']);
  setHide('luxury', ['#tab01', '#tab02']);

  url = document.URL;
  if(url.indexOf("?") > 0){
    peekaboo(url.substr(url.indexOf("?")+1));
  }else{
    peekaboo('riding');
  }
} );
