var lock = false;
// transit reculc result(cart)
function addBasket(code){
	top.cart.location.href = "cart.do?mode=add&goodsCode="+code;
}
function transitReculc(frm,mode){
	var chkFlg = false;
	for(i =0;i < frm.elements.length;i++){
		if( frm.elements[i].name.indexOf("quantity",0) > -1){
			tmpFlg = isNumeric(frm.elements[i].value);
			if(!isEmpty(frm.elements[i].value)){
				alert("数量が未入力です。");
				return;
			}
			if(!isNumeric(frm.elements[i].value)){
				alert("数量に数値以外の値が入力されています。");
				return;
			}
		}
	}
	frm.englishFlg.value="false";
	frm.mode.value=mode;
	frm.action ="cart.do";
	frm.submit();	
}
//Quantity is not entered.
function transitReculcEng(frm,mode){
	var chkFlg = false;
	for(i =0;i < frm.elements.length;i++){
		if( frm.elements[i].name.indexOf("quantity",0) > -1){
			tmpFlg = isNumeric(frm.elements[i].value);
			if(!isEmpty(frm.elements[i].value)){
				alert("Quantity is not entered.");
				return;
			}
			if(!isNumeric(frm.elements[i].value)){
				alert("Non-numeric value is the number being entered.");
				return;
			}
		}
	}
	frm.englishFlg.value="true";
	frm.mode.value=mode;
	frm.action ="cart.do";
	frm.submit();	
}
// transit purchase
function transitPurchase(frm,mode){
	var zeroFlg = false;
	for(i =0;i < frm.elements.length;i++){
		if( frm.elements[i].name.indexOf("quantity",0) > -1){
			tmpFlg = isNumeric(frm.elements[i].value);
			if(!isEmpty(frm.elements[i].value)){
				alert("数量が未入力です。");
				return;
			}
			if(!isNumeric(frm.elements[i].value)){
				alert("数量に数値以外の値が入力されています。");
				return;
			}
			if(frm.elements[i].value != "0"){
				zeroFlg = true;
			}
		}
		
	}
	
	if(zeroFlg == false){
		alert("すべての数量に0が指定されています。");
		return;
	}
	frm.englishFlg.value="false";
	frm.mode.value=mode;
	frm.action ="jol102.do";
	frm.submit();	
}
// transit purchase
function transitPurchaseEng(frm,mode){
	var zeroFlg = false;
	for(i =0;i < frm.elements.length;i++){
		if( frm.elements[i].name.indexOf("quantity",0) > -1){
			tmpFlg = isNumeric(frm.elements[i].value);
			if(!isEmpty(frm.elements[i].value)){
				alert("Quantity is not entered.");
				return;
			}
			if(!isNumeric(frm.elements[i].value)){
				alert("Non-numeric value is the number being entered.");
				return;
			}
			if(frm.elements[i].value != "0"){
				zeroFlg = true;
			}
		}
		
	}
	
	if(zeroFlg == false){
		alert("All units will be designated as 0.");
		return;
	}
	frm.englishFlg.value="true";
	frm.mode.value=mode;
	frm.action ="jol102.do";
	frm.submit();	
}

function insetRule(selector,declarations){
 var sheets=parent.document.styleSheets;

 if(sheets){
  var tSheet=sheets[sheets.length-1];  // 一番最後のスタイルシート
   // MacIE4: styleSheets.item(sheets.length-1)は不可

  if(parent.document.all)
   tSheet.addRule(selector,declarations);
    // reserved value addRule(sSelector, sStyle [, iIndex])
    // iIndexは省略可。省略するとスタイルシートの最後に追加。 

  else
   tSheet.insertRule(selector+"{"+declarations+"}"
    ,tSheet.cssRules.length);
    /* unsigned long insertRule(in DOMString rule
       , in unsigned long index) */
    // raises(DOMException);
    // ruleはセレクタと宣言ブロック。被挿入規則のインデックスが返る。
 }
}
//未入力チェック
function isEmpty(st_val){
	if(st_val.length == 0){
		return false;
	}
	return true;
}
//禁則文字チェック(,'#%_)
function isProhibition(st_val){
	var iCount;
	var sTemp;

    for (iCount=0;iCount<st_val.length;iCount++){
        sTemp = st_val.charAt(iCount);
		if ( sTemp == "'" ) {
			return false;
		}
    }
	return true;
}

//全角チェック 戻り値: true: 全角文字なし / false: 全角文字あり 
function isDoubleByte(st_val){
	var iCount;
	var sTemp;
	for (iCount=0;iCount<st_val.length;iCount++){
		sTemp = escape(st_val.charAt(iCount));
        if (sTemp.length > 4 ){
			if (chkHankakuKana(st_val.charAt(iCount))) {
				return false;
			}
      	}

    }
	return true;
}

//説明: 半角英数字チェック true: 半角英数字以外なし / false: 半角英数字以外あり 
function isEnglishNumeric(st_val){
	var iCount;
	var iCode;
	for (iCount=0 ; iCount<st_val.length ; iCount++){
		iCode = st_val.charCodeAt(iCount);
        if((48<=iCode && iCode <=57) || (65<= iCode && iCode <=90) || (97 <= iCode && iCode <= 122)){
		}else{
			return false;
		}
	}
	return true;
}

//半角英字チェック true: 半角英字以外なし / false: 半角英字以外あり 
function isEnglish(st_val){
	var iCount;
	var iCode;
	for(iCount=0 ; iCount<st_val.length ; iCount++){
		iCode = st_val.charCodeAt(iCount);
        if((65<= iCode && iCode <=90) || (97 <= iCode && iCode <= 122)){
		}else{
			return false;
		}
    }
	return true;
}

// 説明: 半角チェック 戻り値: true: 半角文字なし / false: 半角文字あり
function isSingleByte(st_val){
	var iCount;
	var sTemp;
    for (iCount=0;iCount<st_val.length;iCount++){
        sTemp = escape(st_val.charAt(iCount));
        if (sTemp.length > 4){
		}else{
			return false;
		}
	}
	return true;
}

// 説明: 数字チェック 戻り値: true: 数字以外なし / false: 数字以外あり
function isNumeric(st_val){
	var iCount;
	var iCode;

	for (iCount=0 ; iCount<st_val.length ; iCount++){
		iCode = st_val.charCodeAt(iCount);
        if ((48 > iCode || iCode > 57)){
			return false;
		}
    }
	return true;
}

// 半角カナチェック 戻り値: true: 半角カナなし / false: 半角カナあり
function isSingleByteKana(moji){
	kekka=0;
	for(i=0; i<moji.length; i++) {
		dore=escape(moji.charAt(i));
		if(((navigator.appName.indexOf("Netscape")!=-1) && dore.length==3 && dore.indexOf("%")!=-1) ||
		   (dore == "%uFF65") ||
		   (dore == "%uFF64") ||
		   (dore == "%uFF63") ||
		   (dore == "%uFF62") ||
		   (dore == "%uFF61")
		   ) {
			return false;

		} else if(((navigator.appName.indexOf("Internet Explorer")!=-1) &&
				   dore.length==6 && dore.indexOf("%uFF")!=-1 &&
				   '0x'+dore.substring(2,dore.length) > 0xFF66 &&
				   '0x'+dore.substring(2,dore.length) < 0xFFA0) ||
				  (dore == "%uFF65") ||
				  (dore == "%uFF64") ||
				  (dore == "%uFF63") ||
				  (dore == "%uFF62") ||
				  (dore == "%uFF61")) {
			return false;

		}
	}
	return true;
}

//数値チェック（マイナスあり）戻り値: true: 数字以外なし / false: 数字以外あり
function isDigit(st_val) {
	var iPoint = (st_val.substr(0,1)=="-" ? 1 : 0);

	if (iPoint == 1 && st_val.length == 1) {
		return false;
	}

	return chkNumeric(st_val.substr(iPoint,st_val.length));
}

//半角英数字チェック(小文字はエラー版) 戻り値: true: 半角英数字以外なし / false: 半角英数字以外あり 
function isEngNumDiv(st_val){
	var iCount;
	var iCode;
	for (iCount=0 ; iCount<st_val.length ; iCount++){
		iCode = st_val.charCodeAt(iCount);
        if((48<=iCode && iCode <=57) || (65<= iCode && iCode <=90)){
		}else{
			return false;
		}
	}
	return true;
}
//すべて全角チェック 引数: st_val true: 全角文字のみ false: 全角文字以外を含む 
function isAllDoubleByte(st_val){
	var iCount;
	var sTemp;
	for (iCount=0;iCount<st_val.length;iCount++){
		sTemp = escape(st_val.charAt(iCount));
        if (sTemp.length < 4){
      		return false;
      	}
    }
    // 半角カタカナが含まれているかチェックする。
    if(chkHankakuKana(st_val)){
		return true;
	}
	return false;
}

function isDate(pYear,pMonth,pDay){
	var flag = true;
	if(pYear == "0" || pMonth == "0" || pDay == "0"){
		return false;
	}

	years = parseInt(pYear);
	months = parseInt(pMonth) - 1;
	days = parseInt(pDay);
	if (years < 1900) {
		window.alert("年の値が小さすぎます");
		return;
	}
	var dates = new Date(years,months,days);
	if (dates.getYear() < 1900) {
		if (years != dates.getYear() + 1900) { flag = false; }
	} else {
		if (years != dates.getYear()) { flag = false; }
	}
	if (months != dates.getMonth()) { flag = false; }
	if (days != dates.getDate()) { flag = false; }

	return flag;
}