/**
 * Mydo専用JavaScript
 *　Copyright (c) 2006 SUIMU Co., Ltd. All Right Reserved.
 */
//var mydocx = "md2cab"; 
//var context = "md2cmkbes";
//var protocol = location.protocol;
/*/////////////////////////////////////////////////////////////*/
/**
 * 	公開可否
 *  @price 商品価格
 */
function checkOpen(price){
	var isOpen = false;
	if(price == -2){
		isOpen = false;
	} else {
		isOpen = true;
	}	
	return isOpen;
}
/**
 * 	cookieよりmbCode取得
 *  @return code 会員コード
 */
function getMbCodeCookie(){
	var code = 0;
	var cookie = document.cookie;
	var pieces  = cookie.split(";");
	for(var i=0; i < pieces.length; i++){
		var pair = pieces[i].split("=");
		var param = pair[0].replace(" ", "");	//余分なスペース除去
		if(param == "mbCode"){
			code = pair[1];
			break;
		}
	}
	return code;
}
/**
 * 	会員データをcookieにドメイン直下にセット
 *  @param mbData 会員データ
 */
function setMbDataCookie(mbData){

	var n, d, previsit, expire;

	d = new Date();
	previsit = d.toGMTString();
	d.setTime(d.getTime() + 30*24*3600*1000); //30日後
	expire = d.toGMTString();

	document.cookie = "mbID=" + mbData.mbID + "; path=/;";
	document.cookie = "mbCode=" + mbData.mbCode + "; path=/; expires="+expire;
	document.cookie = "mbMtCode=" + mbData.mbMtCode + "; path=/; expires="+expire;
	document.cookie = "mbName=" + mbData.mbName + "; path=/; expires="+expire;
	document.cookie = "mbMail=" + mbData.mbMail + "; path=/; expires="+expire;
	document.cookie = "mbPoints=" + mbData.mbPoints + "; path=/; expires="+expire;
	document.cookie = "mbMtType=" + mbData.mbMtType + "; path=/; expires="+expire;	//(for DearWorld)	
}
/*/////////////////////////////////////////////////////////////*/
var rootPathRegExp = new RegExp("\/" + context + "\/");
var tailRegExp = new RegExp("\.html");
var hostPath = location.host;

function setMainGoodsReview(gdCode) {
    var url = protocol + '//' + hostPath  + "/" + context + '/SetMainGoodsReview';
    var query = '?gdCode='+ gdCode;
    var http = new JKL.ParseXML(url + query);
    var func = function ( data )        // 呼び出し先関数を定義する
	{		
        setMainReview( data );                //コールバック
	}
	http.async( func );                  // 呼び出し先関数を指定する	
	http.parse(); 
}

/**
 * 	商品詳細ページのデータ（価格、レビュー）取得
 *　@param gdCode　商品コード
 *  @userRank 会員ランク
 */
 
function setMainGoodsPrice(gdCode,userRank){
    var url = protocol + '//' + hostPath + "/" + context + '/SetMainGoodsPrice';
    var query = '?gdCode='+ gdCode + '&rank=' + userRank;
    var http = new JKL.ParseXML(url + query);
    var func = function ( data )        // 呼び出し先関数を定義する
	{		
        setMainPrice( data );                //コールバック
	}
	http.async( func );                  // 呼び出し先関数を指定する
	http.parse(); 
}

/**
 * 	会員ランクに対する商品価格取得
 *　@param idList　商品IDのリスト
 *  @userRank 会員ランク
 */
 
function setGoodsPrice(idList,userRank){

    var url = protocol + '//' + hostPath  + "/" + context + '/SetGoodsPrice';
    var query = '?list='+ idList + '&rank=' + userRank;
    var http = new JKL.ParseXML(url + query);

	var func = function ( data )        // 呼び出し先関数を定義する
	{		
        setPrice( data );                //コールバック
	}
	http.async( func );                  // 呼び出し先関数を指定する
	http.parse(); 
}


/*////////////////////////////////////////////////*/
/**
 * 	メイン商品の商品レビュー取得のコールバック関数
 *  @param data XMLObject
 */
function setMainReview(data){
	var tag1 = '<div class="review_data"><div class="review_header"><img src="/images/mydo/';
	var tag2 = 'star.gif" border="0" align="baseline" style="padding-right:15px;"/>';
	var tag3 = '</div><div class="review_text">';
	var tag4=  '</div></div>';
	
	if(data.root != undefined){
		var dataObj = data.root.list;
		var dataLength = dataObj.length;
		var ans ="";
		if(dataLength != undefined || dataLength > 0) {
			for(i in dataObj ){
				var review   = dataObj[i];
				ans += tag1;
				ans += review.point;
				ans += tag2;			
				ans += review.username;
				ans += '&nbsp;&nbsp;&nbsp;';
				ans += review.registDay;
				ans += tag3;
				ans += review.comment;
				ans += tag4;						
			} 
			document.getElementById('review').innerHTML = ans;
		} else {
			ans += tag1;
			ans += dataObj.point;
			ans += tag2;	
			ans += dataObj.username;
			ans += '&nbsp;&nbsp;&nbsp;';
			ans += dataObj.registDay;
			ans += tag3;
			ans += dataObj.comment;
			ans += tag4;
			document.getElementById('review').innerHTML = ans;
		}	
	} else {
		document.getElementById('review').innerHTML = '現在はありません';
	}	
}

/**
 * 	メイン商品の会員ランクに対する商品価格取得のコールバック関数
 *  @param data XMLObject
 */
function setMainPrice(data){	
    var dataObj = data.root.price;
//	document.getElementById('price').innerHTML = '会員価格：&nbsp;&yen;' + dataObj.value + '(通常価格:&nbsp;&yen;' + dataObj.normalvalue + ')';	
	document.getElementById('price').innerHTML = '価格:&nbsp;&yen;' + dataObj.normalvalue;
}

/**
 * 	会員ランクに対する商品価格取得のコールバック関数
 *  @param data XMLObject
 */
function setPrice(data){
	
    var dataObj = data.root.list;
    var dataLength = dataObj.length;
	if(dataLength != undefined || dataLength > 0) {
		for(i in dataObj ){
			var goods=dataObj[i];
			var id = goods.id;
			var price = goods.price;
			var idName = 'code' + id;
			if(document.getElementById('gdCode' + id)){
				document.getElementById(idName).innerHTML = price;
			}
		}    	
	} else {
		var idName = 'gdCode' + dataObj.id;
		if(dataObj.id) {
			document.getElementById(idName).innerHTML = dataObj.price;	
		}
	}
	
}
/*//////////////////////////////////////////////////////*/
/**
 * 	詳細ページのショッピングカートフォーム作成
 *  @param gdCode　商品コード
 */
function setCartForm(gdCode) {
	//西山珈琲仕様		
/* 2009-02-19 delele
	var prefix ='<form name="insertCartForm" action="/' + mydocx + '/cartInsert.do" method="POST"><input name="intValue1" type="hidden" id="gdCode" value="';	
*/
	var prefix ='<form name="insertCartForm" action="/' + mydocx + '/cartInsert.do" method="POST" onSubmit="return checkList()"><input name="intValue1" type="hidden" id="gdCode" value="';	
	var suffix = '"/><b>購入数：</b>&nbsp;<input name="intValue2" type="text" id="gdQuantity" value="1" size="3" style="IME-MODE:disabled; width:25px; text-align:right; margin:0 15px 0 5px;" onblur="checkNum(this)"/><input type="image" src="/images/mydo/b_cart.gif" alt="カートに入れる" align="absmiddle"/><input type="hidden" id="gdList01" name="gdList01" value=""/><input type="hidden" id="gdList02" name="gdList02" value=""/><input type="hidden" id="gdList03" name="gdList03" value=""/><input type="hidden" id="gdList04" name="gdList04" value=""/><input type="hidden" id="gdList05" name="gdList05" value=""/></form>';
	//デフォルト仕様
/*
	var prefix ='<input name="intValue1" type="hidden" id="gdCode" value="';	
	var suffix = '"/><b>購入数：</b>&nbsp;<input name="intValue2" type="text" id="gdQuantity" value="1" size="3" style="IME-MODE:disabled; width:25px; text-align:right; margin:0 15px 0 5px;" onblur="checkNum(this)"/><input type="image" src="/images/mydo/b_cart.gif" alt="カートに入れる" align="absmiddle"/>';
*/	
	var input = prefix + gdCode + suffix;
	document.getElementById('cart_b').innerHTML = input;	
	
}
/*
* カートの数値入力チェック
*/
function checkNum(inForm) { 
	txt = inForm.value;
	if(txt != "" || txt != null) {
		data = txt.match(/[^0-9\/]/g); 
		if (data) {
			flag=alert("数値以外が含まれてます");
			inForm.focus();
		}
	}
}
/*////////////////////////////////////////////////////////*/
var mbData;
/**
 * 	会員データー取得
 *  @param mbCode　会員コード
 */
function loadMemberData(mbCode){
	
    var url = protocol + '//' + hostPath + "/" + context + '/GetMemberData';
    var query = '?mbCode='+ mbCode;
    var http = new JKL.ParseXML(url + query);	//同期処理

	var data = http.parse(); 
	setMemberData(data);
}

/**
 * 	データセット
 *  @param data XMLObject
 */
function setMemberData(data){
	mbData = data.root.list;
}
/**
 * 	データゲット
 *  @return data XMLObject
 */
 function getMemberData(){
	return mbData;
}
/*///////////////////////////////////////////////////////////*/
var openData;
/**
 * 	ページ制御に関するデータ取得
 *  @param gbCode　  商品コード
 *  @param mbMtCode  会員ランク
 */
 function loadOpenData(gdCode, rank){	
    var url = protocol + '//' + hostPath + "/" + context + '/GetOpenData';
	var query = '?gdCode='+ gdCode + '&mbMtCode=' + rank;
    var http = new JKL.ParseXML(url + query);
	var data = http.parse(); 
	setOpenData(data);
}
/**
 * 	データセット
 *  @param data XMLObject
 */
function setOpenData(data){
	openData = data.root.list;
}
/**
 * 	データゲット
 *  @return data XMLObject
 */
function getOpenData(){
	return openData;
}
/**
 * 	カートを見る（https:対策）
 */
function setShowCart(){
	var staticprotocol="http://";
	var url = staticprotocol + hostPath + "/" + mydocx + '/showCart.do';
	location.href=url;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/////////////////////////////////////////////////////////////////////
//西山珈琲
/////////////////////////////////////////////////////////////////////
//西山珈琲特別仕様
function checkSelectTag(obj){
 alert(obj.name);	
}

/**
* プルダウンメニューセット
* @param obj プルダウンオブジェ
* @param param formオブジェクトのhiddenへの振り分け
*/
function setSel(obj,param){
	var objname=obj.name;
	var objvalue =obj.value;

	if(param == 1){
		document.getElementById('gdList01').value=objvalue;
	} else if(param == 2){
		document.getElementById('gdList02').value=objvalue;
	} else if(param == 3){
		document.getElementById('gdList03').value=objvalue;			
	} else if(param == 4){
		document.getElementById('gdList04').value=objvalue;		
	} else if(param == 5){
		document.getElementById('gdList05').value=objvalue;			
	}
}
/**
* プルダウンメニュー作成
* @param gdCode　商品コード
*/

function setOptionMenu(gdCode){
    var url = protocol + '//' + hostPath + "/" + context + '/SetOptionMenu';
    var query = '?gdCode='+ gdCode;
    var http = new JKL.ParseXML(url + query);	/*同期処理*/
	//非同期処理
	var func = function ( data )        /*呼び出し先関数を定義する*/
	{		
        setPLMenu(data,'optionSel');
	}
	http.async( func );                  /*呼び出し先関数を指定する*/
	http.parse();
}
/**
* setOptionMenuよりプルダウンメニュータグをセット
* @param data XMLオブジェクト
* @param divName cssのdiv属性のid名
*/
function setPLMenu(data,divName){
	if(data.root != undefined){
		var dataObj = data.root.list;
		var tag =dataObj.tag;
		if(tag != undefined){
			document.getElementById(divName).innerHTML = tag;
		} else {
			document.getElementById(divName).style.display = "none";
		}
	}
}



/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/**
 * 	会員レベル別キャンペーン。データなしの場合は非表示
 *  @param mbMtCode 会員レベルコード　  
 *  @return キャンペンバナーとリンクがセットされたHTMLコード
 */
function setCampaign(mbMtCode){
    var url = protocol + '//' + hostPath + "/" + context + '/GetCampaignData';
    var query = '?mbMtCode='+ mbMtCode;
    var http = new JKL.ParseXML(url + query);	/*同期処理*/
	//非同期処理
	var func = function ( data )        /*呼び出し先関数を定義する*/
	{		
        setBannerHTML( data,"member_campaign","membertypecamp");
	}
	http.async( func );                  /*呼び出し先関数を指定する*/
	http.parse();	
}
/**
 * 	キャンペンバナーの書出し
 *  @div1 divタグのクラス名
 *  @targetDiv 挿入先divの属性　  
 *  @return キャンペンバナーとリンクがセットされたHTMLコード
 */

function setBannerHTML(data, div1,targetDiv){
	var divPreffix = '<div class="' + div1 + '">';
	var divSuffix = '</div>';
	var imgTag1 = '<img src="';
	var imgTag2 = '" border="0"/>';	
	var linkTag1='<a href="';
	var linkTag2='">';
	var linkTag3='</a>';	

    var dataObj;
    var dataLength;
	var tag ="";
	if(data.root != undefined){
		dataObj = data.root.list;
		dataLength = dataObj.length;
		if(dataLength != undefined || dataLength > 0) {
			for(i in dataObj ){
				var items   = dataObj[i];
				tag += divPreffix;
				tag += linkTag1;
				tag += items.url;	
				tag += linkTag2;
				tag += imgTag1;
				tag += items.img;
				tag += imgTag2;
				tag += linkTag3;
				tag += divSuffix;						
			} 
	
		} else {
			tag += divPreffix;
			tag += linkTag1;
			tag += dataObj.url;	
			tag += linkTag2;
			tag += imgTag1;
			tag += dataObj.img;
			tag += imgTag2;
			tag += linkTag3;
			tag += divSuffix;
		}
		document.getElementById(targetDiv).innerHTML = tag;
		if(document.getElementById(targetDiv + "_label")){
			document.getElementById(targetDiv + "_label").style.display = "block";	/*ラベル*/
		}		
		document.getElementById(targetDiv).style.display = "block";
	} else {
		if(document.getElementById(targetDiv + "_label")){
			document.getElementById(targetDiv + "_label").style.display = "none";	/*ラベル*/
		}
		document.getElementById(targetDiv).style.display = "none";		
	}		
}
/*セレクト商品のテーブル組*/
var colCount;	//一行あたりのデータ数（列数）
var imgHeight=100;	//サムネイル画像高さ
var imgWidth=100;	//サムネイル幅
var tableBorder= 0; //テーブルボーダー
var cellPadding=3; 	//セル余白
var cellSpaceing=0;	//セルスペース
/**
 * 	顧客別お勧め商品
 *  @param mbCode　  会員コード
 *  @param itemCount  一行あたりのデータ数（列数）
 *  @param mbMtCode 会員ランク
 *  @return 商品データ、レコードが0の場合でもレイアウト保持のためダミーデータ添付
 */
 function setEachMemberGoods(mbCode, itemCount, mbMtCode){
	colCount =  itemCount;
    var url = protocol + '//' + hostPath + "/" + context + '/GetEachMemberGoods';
    var query = '?mbCode='+ mbCode + '&colCount=' + colCount + '&mbMtCode=' + mbMtCode;
    var http = new JKL.ParseXML(url + query);
	//非同期処理
	var func = function ( data )
	{		
        setCustomData( data, "goods_thumbnail", "goods_title", tableBorder, cellPadding, cellSpaceing,"eachmembergoods", colCount);
	}
	http.async( func );
	http.parse();  
 }
 
 /**
 * 	スキンケアスタイリストからのお勧め
 *  @param mbCode　  会員コード
 *  @param itemCount  一行あたりのデータ数（列数）
 *  @param mbMtCode 会員ランク 
 *  @return 商品データ、レコードが0の場合でもレイアウト保持のためダミーデータ添付
 */
 function setRecommendGoods(mbCode, itemCount,mbMtCode){
	colCount =  itemCount;
    var url = protocol + '//' + hostPath + "/" + context + '/GetRecommendGoods';
    var query = '?mbCode='+ mbCode + '&colCount=' + colCount + '&mbMtCode=' + mbMtCode;
    var http = new JKL.ParseXML(url + query);
	//非同期処理
	var func = function ( data )
	{		
        setCustomData( data, "goods_thumbnail", "goods_title", tableBorder, cellPadding, cellSpaceing,"nextbuyforecast", colCount);
	}
	http.async( func );
	http.parse();  
 }
 /**
 * 	セレクト商品のテーブル組データセット。データなしの場合は非表示
 *  @param data XMLObject
 *  @param divThumbnail サムネイルをセットするdivのクラス名
 *  @param divLink リンクをセットするdivのクラス名
 *  @param tableBorder テーブルボーダー
 *  @param cellPadding セル余白
 *  @param cellSpaceing セルスペース
 *  @param setDiv タグ組みされたデーターをセットするdivタグの属性名
 *  @param colCount 一行あたりのデータ数（列数）
 */
 function setCustomData(data, divThumbnail, divLink, tableBorder, cellPadding, cellSpaceing, setDiv, colCount){
	var cols=colCount;	/*行*/
	var thumbTag = '<div class="' + divThumbnail + '">';
	var imgTag1 = '<img src="';
	var imgTag2 = '" border="0" align="middle"' + ' height="' + imgHeight + '" width="' + imgWidth + '" />'; 
	var closeDiv ='</div>';
	var titleTag1 = '<div class="' + divLink + '">';
	
	var linkTag1='<a href="';
	var linkTag2='">';
	var linkTag3='</a>';
	
	var priceTag1='<div class="goods_price">会員価格:';
	var priceTag2='&yen;';
	var priceTag3='<br/>(通常価格:&yen;';
	var priceTag4=')';
	
    var dataObj = data.root.list;
    var dataLength = dataObj.length;
	var tag ="";
	
	tag += '<table border="' + tableBorder + '" cellpadding="' + cellPadding + '" cellspacing="' + cellSpaceing + '">';	
	if(dataObj[0].url !="#"){
		var count = 0;
		for(i in dataObj ){
			count++;
			var items   = dataObj[i];					
			if(count % cols ==1){
				tag += '<tr><td valign="top" align="center">';
			} else {
				tag += '<td valign="top" align="center">';
			}	
			//thumnail
			tag += thumbTag;
			tag += linkTag1;
			tag += items.url;
			tag += linkTag2;
			tag += imgTag1;			
			tag += items.thumbnail;			
			tag += imgTag2;
			tag += linkTag3;
			tag += closeDiv;
			//link
			tag += titleTag1;
			tag += linkTag1;
			tag += items.url;
			tag += linkTag2;			
			tag += items.title;
			tag += linkTag3;
			tag += closeDiv;
			//price
			if(items.mbPrice != undefined){
				tag += priceTag1;
				tag += priceTag2;
				tag += items.mbPrice;			
				tag += priceTag3;
				tag += items.price;
				tag += priceTag4;
				tag += closeDiv;	
			}
			//
			if(count % cols ==0){
				tag +='</td></tr>';			
			} else {
				tag +='</td>';					
			}			
		} 
		
		tag += '</table>';
		document.getElementById(setDiv).innerHTML = tag;
		if(document.getElementById(setDiv + "_label")){
			document.getElementById(setDiv + "_label").style.display = "block";	/*ラベル*/
		}		
		document.getElementById(setDiv).style.display = "block";
	} else {
		if(document.getElementById(setDiv + "_label")){
			document.getElementById(setDiv + "_label").style.display = "none";	/*ラベル*/
		}	
		document.getElementById(setDiv).style.display = "none";
	}
	
 }

/*/////////////////////////////////////////////////////////////////////*/
//特別仕様
/*//////////////////////////////////////////////////////////////////////*/
function checkSelectTag(obj){
 alert(obj.name);	
}

/**
* プルダウンメニューセット
* @param obj プルダウンオブジェ
* @param param formオブジェクトのhiddenへの振り分け
*/
function setSel(obj,param){
	var objname=obj.name;
	var objvalue =obj.value;

	if(param == 1){
		document.getElementById('gdList01').value=objvalue;
	} else if(param == 2){
		document.getElementById('gdList02').value=objvalue;
	} else if(param == 3){
		document.getElementById('gdList03').value=objvalue;			
	} else if(param == 4){
		document.getElementById('gdList04').value=objvalue;		
	} else if(param == 5){
		document.getElementById('gdList05').value=objvalue;			
	}
}
/**
* プルダウンメニュー作成
* @param gdCode　商品コード
*/
function setOptionMenu(gdCode){
    var url = protocol + '//' + hostPath + "/" + context + '/SetOptionMenu';
    var query = '?gdCode='+ gdCode;
    var http = new JKL.ParseXML(url + query);	/*同期処理*/
	//非同期処理
	var func = function ( data )        /*呼び出し先関数を定義する*/
	{		
        setPLMenu(data,'optionSel');
	}
	http.async( func );                  /*呼び出し先関数を指定する*/
	http.parse();
}
/**
* setOptionMenuよりプルダウンメニュータグをセット
* @param data XMLオブジェクト
* @param divName cssのdiv属性のid名
*/
function setPLMenu(data,divName){
	if(data.root != undefined){
		var dataObj = data.root.list;
		var tag =dataObj.tag;
		if(tag != undefined){
			document.getElementById(divName).innerHTML = tag;
		} else {
			document.getElementById(divName).style.display = "none";
		}
	}
}

/* 必須項目が選択されているか否か判定 */
function checkList() {
	if(document.insertCartForm.gdList01 != undefined){
		if(document.getElementById("list01").options[0].value == "#!"){
			if(document.insertCartForm.gdList01.value == "" || document.insertCartForm.gdList01.value == "#!"){
				alert("選択項目で必須項目が選択されていません。");
				return false;
			}
		}
	}
	if(document.insertCartForm.gdList02 != undefined){
		if(document.getElementById("list02").options[0].value == "#!"){
			if(document.insertCartForm.gdList02.value == "" || document.insertCartForm.gdList02.value == "#!"){
				alert("選択項目で必須項目が選択されていません。");
				return false;
			}
		}
	}
	if(document.insertCartForm.gdList03 != undefined){
		if(document.getElementById("list03").options[0].value == "#!"){
			if(document.insertCartForm.gdList03.value == "" || document.insertCartForm.gdList03.value == "#!"){
				alert("選択項目で必須項目が選択されていません。");
				return false;
			}
		}
	}
	if(document.insertCartForm.gdList04 != undefined){
		if(document.getElementById("list04").options[0].value == "#!"){
			if(document.insertCartForm.gdList04.value == "" || document.insertCartForm.gdList04.value == "#!"){
				alert("選択項目で必須項目が選択されていません。");
				return false;
			}
		}
	}
	if(document.insertCartForm.gdList05 != undefined){
		if(document.getElementById("list05").options[0].value == "#!"){
			if(document.insertCartForm.gdList05.value == "" || document.insertCartForm.gdList05.value == "#!"){
				alert("選択項目で必須項目が選択されていません。");
				return false;
			}
		}
	}
}

