/************************************************************
* ファイル名	:comFunc.js
* ファイル概要	:トップで使用する汎用的な関数を格納したファイル。
* 関数一覧:
* ・showLightViewByInputQty
* ・valKosuForShoping
*
* 履歴:
* ・2008/07/06 新規作成
*
* Written by Y.Yamamoto
*************************************************************/


/*******************
* グローバル変数
*******************/


/************************************************************
* 関数名	:showLightViewByInputQty
* 処理概要	: 
* 以下の処理に従ってフォームの個数入力値に応じた値でLightViewを開く。
*  1.フォームに入力した個数のValueを取得する。
*  2.取得した個数のValueを用いてLightViewを開く。
*
*
* 引数:					説明
* --------------------	---------------------------------
* itemId				商品のアイテムId
* textId				formの個数入力Texi要素のId属性値
*
* 戻り値:
* true   : 正常終了
* false  : 異常終了
*
* 履歴
* ・2008/07/06 新規作成
*
*************************************************************/
function showLightViewByInputQty(itemId,textId) {
	var intQtyValue;
	// --------------------------------------------------
	// 1.フォームに入力した個数のValueを取得する。     --
	// --------------------------------------------------
	intQtyValue = document.getElementById(textId).value;
	
	// 入力した個数が0の場合は何もしない。
	if(intQtyValue == 0) {
		return true	
	}

	// --------------------------------------------------
	// 2.取得した個数のValueを用いてLightViewを開く。  --
	// --------------------------------------------------
	// あらかじめLightViewが開いている場合、閉じる。
	// Lightview.hide();

	Lightview.show({
 		href: '../../top/cart/?id='+ itemId +'&kosu_txt=' + intQtyValue,
		rel: 'iframe',
		title: '冷凍ドッグフード ペットの洋服の｢Sisimaru｣のショッピングカートの中身',
		caption: '・送料は5000円(税込)以上お買上で無料とさせていただきます。',
		options: {
		    width: 540,
   			height: 440
  		}
	});

	return true;
}

function showLightViewByInputQty2(itemId,textId,chkBox) {
	var intQtyValue;
	var intChkValue;
	// --------------------------------------------------
	// 1.フォームに入力した個数のValueを取得する。     --
	// --------------------------------------------------
	intQtyValue = document.getElementById(textId).value;
	intChkValue	= document.getElementById(chkBox).checked;

// 入力した個数が0の場合は何もしない。
	if(intQtyValue == 0) {
		return true	
	}

	// --------------------------------------------------
	// 2.取得した個数のValueを用いてLightViewを開く。  --
	// --------------------------------------------------
	// あらかじめLightViewが開いている場合、閉じる。
	// Lightview.hide();

	Lightview.show({
 		href: '../../top/cart/?id='+ itemId +'&kosu_txt=' + intQtyValue +'&review_chk=' + intChkValue,
		rel: 'iframe',
		title: '犬用品 猫用品を通信販売 ペットの首輪 洋服の｢Sisimaru｣のショッピングカートの中身',
		caption: '・送料は5000円(税込)以上お買上で無料とさせていただきます。',
		options: {
		    width: 540,
   			height: 440
  		}
	});

	return true;
}

/******************************************************************
* 関数名	:valKosuForShoping
* 処理概要	: 
* 以下の処理に従って買い物かごへの送信の妥当性を検証する。
*  1.商品の個数を取得する。
*  2.商品の個数が空の場合、データを送信しない。
*  3.商品の個数に数値以外の文字が含まれる場合、データを送信しない。
*  4.商品の個数が0個以下の場合、データを送信しない。
*
*
* 引数:			説明
* --------------------	---------------------------------
* id			フォームを識別するためのユニークid
*
*
* 戻り値:
* true   : データを送信する
* false  : データを送信しない
*
* 履歴
* ・2008/07/18 新規作成
*
*******************************************************************/
function valKosuForShoping(id){
	var sKosuTextId	= "kosu_txt"; 	// 個数のIDのプレフィックス
	var sTextStatus	= "txt_status"; // テキストの状態を表示するspanのIDのプレフィックス
	var sGoBtn		= "go_btn";
	
	
	var objKosu;		// 個数のinputオブジェクト
	var objSpanStat;	// ステータスを表示するためのspanオブジェクト
	var objSpanBtn;		// ボタンを表示するためのspanオブジェクト

	// --------------------------
	// 1.商品の個数を取得する。--
	// --------------------------
	// 個数のIDのプレフィックスに引数から取得した数字を追加する。
	sKosuTextId	+= id;
	
	// テキスト状態を表すIDのプレフィックスに引数から取得した数字を追加する。
	sTextStatus	+= id;
	
	// カートに入れるボタンの表示/非表示を表すIDのプレフィックスに引数から取得した数字を追加する。
	sGoBtn		+= id;

	// 個数値を取得する。
	objKosu		= document.getElementById(sKosuTextId);
	objSpanStat		= document.getElementById(sTextStatus);
	objSpanBtn		= document.getElementById(sGoBtn);

	// ---------------------------------------------------
	// 2.商品の個数が空の場合、データを送信しない。     --
	// ---------------------------------------------------
	if(objKosu.value.length==0){
		objSpanStat.innerHTML = "個数が入ってません";
		objSpanBtn.style.display = "none";
 		return false;
	}

	
	// 全角数字を半角数字に変換する。
	objKosu.value = toHankakuNum(objKosu.value);

	// -----------------------------------------------------------------------
	// 3.商品の個数に数値以外の文字が含まれる場合、データを送信しない。     --
	// -----------------------------------------------------------------------
	// 数値以外の文字が含まれているかチェックする。
	if(objKosu.value.match(/\D/gi)){
		objSpanStat.innerHTML = "個数は数値を入れて下さい";
		objSpanBtn.style.display = "none";		
		return false;
	}

	// ---------------------------------------------------
	// 4.商品の個数が0個以下の場合、データを送信しない。--
	// ---------------------------------------------------
	if(objKosu.value <= 0){
		objSpanStat.innerHTML = "1以上の個数を入れて下さい";
		objSpanBtn.style.display = "none";
		return false;
	}

	// 正常終了
	objSpanStat.innerHTML ="";
	objSpanBtn.style.display = "inline";

	// 値を送信する。
	return true;
}

function jumpUrl ( url ) {
  location.href = url;
} 


function displayMode ( mode ) {
  document.getElementById('submenu').style.display = mode;
} 

function popupMenu( obj, w, h , arg) {
  clearTimer();
  var submenu = document.getElementById('submenu');
  popupMenuItem = new Array();
  popupMenuItem.push("リスト形式", "../" + arg +"/");
  popupMenuItem.push("写真一覧形式", "../disp2_" + arg +"/");
// メニュー作成    ･････ ポップアップメニューのタグを作成して、layer 変数にセットします
  var layer;
  var roop;
  var url;
  var subject;
  layer = "<div id='popmenu' style='position:absolute;top:" + h + "px; left:" + w + "px;'>\n";
  roop = popupMenuItem.length / 2;
  for (i=0; i<roop; i++) {
    url = i * 2 + 1;
    subject = i * 2;
    layer += "  <div id='submenu" + i + "' class='submenu01'";

    // クリック時に「jumpUrl」関数で指定のページへジャンプする
    layer += "   onclick=jumpUrl('" + popupMenuItem[url] + "')";

    // マウスポイント時に「rollOver」関数で色を変更。「displayMode」関数で表示･非表示設定を「表示」に設定
    layer += " onmouseover=rollOver(this,'submenu02');displayMode('block');clearTimer();";


    // マウスが離れた時に「rollOver」関数で色を規定のに戻す。「displayMode」関数で「非表示」に設定してメニューを消去する
    layer += " onmouseout=rollOver(this,'submenu01');setTimer();>" + popupMenuItem[subject] + "</div>\n";
  }
  layer += "</div>\n";

  // ポップアップメニュー表示
  submenu.style.display = 'block';
  submenu.innerHTML = layer;
}

function rollOver ( obj, val ) {
  obj.className = val;
}

tid = null;
function clearTimer() {
    if (tid) {
        clearTimeout( tid );
        tid = null;
    }
}

function setTimer() {
	if (!tid){
		tid = setTimeout("displayMode('none')",1000);
	}
}
