// ============================================================
// 汎用関数
function getelement(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else {
		return document.all(id);
	}
}

// ============================================================
// 「お届け先」へ情報をコピーする
function autoEntDestination(frm){
	if(frm.sameinfo.checked == true){
		frm.des_name1.value=frm.name1.value;
		frm.des_name2.value=frm.name2.value;
		frm.des_kana1.value=frm.kana1.value;
		frm.des_kana2.value=frm.kana2.value;
		frm.des_zipcode.value=frm.zipcode.value;
		frm.des_address1.value=frm.address1.value;
		for(var i=0;i<47;i++){
			if(frm.address1.options[i].selected){
				frm.des_address1.options[i].selected=true;
			}
		}
		frm.des_address2.value=frm.address2.value;
		frm.des_address3.value=frm.address3.value;
		frm.des_company.value=frm.company.value;
		frm.des_phone.value=frm.phone.value;
	}else{
/*		frm.des_name1.value="";
		frm.des_name2.value="";
		frm.des_zipcode.value="";
		frm.des_address1.value="";
		frm.des_address2.value="";
		frm.des_address3.value="";
		frm.des_company.value="";
		frm.des_phone.value=""; */
	}
}

function check_hankaku_num(strTarget2){
	var i,transTarget,charlength;
	var chechStr = new String("1234567890");
	var char_length=("1".length);

	transTarget=strTarget2.replace(/[ 　]/g,"");
	if(transTarget.length==0){
		return false;
	}
	for(i=0;i<transTarget.length;i=i+char_length){
		if(chechStr.indexOf(transTarget.charAt(i),0)==-1){
			return false;
		}
	}
	return true;
}

function check_quantity(frm, peronce){
	if(check_hankaku_num(frm.quantity.value)==false){
		frm.quantity.focus();
		frm.quantity.select();
		alert("半角の数字で数量を入力してください");
		return false;
	}else if(frm.quantity.value=="0"){
		frm.quantity.focus();
		frm.quantity.select();
		alert("購入する数量が 0 になっています");
		return false;
	}
	if (frm.quantity.value > peronce) {
		alert("現在 " + peronce + "個以上購入することはできません。\n");
		return false;
	}
	return true;
}

function check_size(){
	if(document.frm.size && document.frm.size.value==""){
		frm.size.focus();
		alert("サイズを選択してください");
		return false;
	}
	return true;
}

function chgVisible(id, v){
	getelement(id).style.display=v;
}

function chimg(filename,target){
	document.images[target].src = filename;
}

function chgLoc(url) {
	location.href=url;
}

// products/payment で、お届け先の項目が編集された場合に sameinfo チェックを外す
function desEdit(frm){
	frm.sameinfo.value=false;
	frm.sameinfo.checked=false;
}

// products/payment で、「あなたの情報と同じ」時に変更を連動させる
function sameEdit(frm, item) {
	if (frm.sameinfo.checked) {
		getelement("des_" + item).value = getelement(item).value;
	}
}

function getWindowHeight(){ //ウィンドウ表示領域の高さ
	if(window.innerHeight){
	 	return window.innerHeight;
	}else{
	 	return document.body.clientHeight;
	}
}

function getWindowWidth(){ //ウィンドウ表示領域の幅
	if(window.innerWidth){
	 	return window.innerWidth;
	}else{
	 	return document.body.clientWidth;
	}
}

function openwin(url, name, w, h, scroll, resize) {
	var wstate = "width=" + w + ",height=" + h + ",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=" + scroll + ",resizable=" + resize;
	var newWin = window.open(url, name, wstate);
}

function preloadimg(){
	var ploadimg = new Array();
	for(i = 0; i < preimages.length; i++){
		ploadimg[i] = new Image();
		ploadimg[i].src =  preimages[i];
	}
}

function setSwf(swf, id, w, h, flashvars) {
	document.write('<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0\" width=\"' + w + '\" height=\"' + h + '\" id=\"' + id + '\">');
	document.write('<param name=\"movie\" value=\"' + swf + '\">');
	document.write('<param name=\"quality\" value=\"high\">');
	document.write('<param name=\"bgcolor\" value=\"#ffffff\">');
	document.write('<param name=\"menu\" value=\"false\">');
	document.write('<param name=\"flashvars\" value=\"' + flashvars + '\">');
	document.write('<embed src=\"' + swf + '\" flashvars=\"' + flashvars + '\" quality=\"high\" bgcolor=\"#ffffff\" menu=\"false\" width=\"' + w + '\" height=\"' + h + '\" name=\"' + id + '\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\">');
	document.write('</object>');
}

function submit_check(sizecheck, peronce){
	if(check_size()==false){
		return false;
	}else if(check_quantity(document.frm, peronce)==false){
		return false;
	}
	return true;
}

function dontzero(name) {
	var inp = getelement(name);
	if (inp.value=="" || inp.value=="0") {
		alert("購入する数量が 0 になっています。バスケットから削除する場合には削除ボタンを押してください。");
		inp.value=1;
		return false;
	}
}

// 合計金額が制限を越えていないかどうかをチェックする。
// basket.html で数量が範囲を越えていないかどうか確認する。
// itemcode には '-' が含まれる可能性があるのでプロパティ演算に注意
function basket_check(stocklist,maxpurchase) {
	var msg = "", ele = document.frm.elements, baskettotal = 0;
	for (i = 0; i < stocklist.length; i++) {
		var item = stocklist[i];
		var qprop = "quantity_" + item.itemcode;
		for (j = 0; j < ele.length; j++) {
			if (ele[j].name == qprop) {
				baskettotal += (item.unit_price_tax * ele[j].value);
				if (ele[j].value > item.peronce) {
					if (item.peronce>0) {
						msg += item.itemname + " (" + item.itemcode + ") は現在 " + item.peronce + "個以上購入することができません。\n";
					} else {
						msg += item.itemname + " (" + item.itemcode + ") は現在購入することができません。\nバスケットから削除してください。\n";
					}
				}
			}
		}
	}
	if (maxpurchase < baskettotal) {
		msg += "一回の注文で購入できる合計金額は" + maxpurchase + "円以下となっております。\n";
	}
	if (msg.length > 0) {
		alert(msg);
		return false;
	}
	return true;
}

//商品詳細用のjavascript start--------------------------------------

var totalWidth=794; //全体幅795pxだが端数がでないように偶数にした。
var disImage2=215; //image2のテーブルの左端からの距離（相対）

function mmover(target, id){ //マウスがロールオーバーの時
	var y;
	var items = getelement('itembox');
	var foot = getelement('footer');
	var coordObj = new XYcoordinate(target.offsetLeft, target.offsetTop);
	var coordObj2 = new XYcoordinate(foot.offsetLeft, foot.offsetTop);
	var coordObj3 = new XYcoordinate(items.offsetLeft, items.offsetTop);
	coordObj.calculateXY(target);
	coordObj2.calculateXY(foot);
	coordObj3.calculateXY(items);
	
	getelement(id).style.display="block";
	getelement('coverIF').style.display="block";
	
	if (coordObj.y + 240 > coordObj2.y) {
		y = coordObj.y - 167;
	} else{
		y = coordObj.y - 31;
	}
	
	getelement(id).style['top'] = y + 'px';
	getelement('coverIF').style['top'] = y + 'px';
	if(!(checkB.IE&&checkB.Mac)){
		getelement(id).style['left'] = (coordObj3.x - 110) + 'px';
		getelement('coverIF').style['left'] = (coordObj3.x - 110) + 'px';
	}
}

function mmout(id){ //マウスがロールアウトしたとき
	getelement(id).style.display="none";
	getelement('coverIF').style.display="none";
}

function movImg2(wNum){
	var disImage2=290;

	var w=getWindowWidth();
	var idnum;
	var i;

	if(w>totalWidth){
		if(checkB.IE&&checkB.Mac){
			for(i=0;i<wNum ;i++){
				idnum="m"+i;
				if(getelement(idnum)){
					getelement(idnum).style.left=disImage2;
				}
			}
		}else{
			for(i=0;i<wNum;i++){
				idnum="m"+i;
				if(getelement(idnum)){
					getelement(idnum).style.left=w/2-totalWidth/2+disImage2;
				}
			}
		}
	}else{
		for(i=0;i<wNum;i++){
			idnum="m"+i;
			if(getelement(idnum)){
				getelement(idnum).style.left=disImage2;
			}
		}
	}
	
}

function winResize(){ //ウィンドウをリサイズしたときにたたく関数。
	window.location.reload();
}
window.onresize=winResize;

//商品詳細用のjavascript end--------------------------------------


// 「注文を確定する」ボタンの二度押し防止
var PaymentCommitted = 0;
function checkCommit() {
	if (PaymentCommitted == 0) {
		PaymentCommitted = 1;
		return true;
	}
	return false;
}

// payment.cgi, accedit.cgi
// 「お届け先」を disable する
function updateVisible(id){
	var flag = document.frm.paymethod[0].checked;
	getelement(id).style.display = (flag ? "none" : "block");
	document.frm.card_comp.disabled = flag;
	document.frm.card_no.disabled   = flag;
	document.frm.card_mon.disabled  = flag;
	document.frm.card_year.disabled = flag;
	document.frm.card_name.disabled = flag;
}

function checkHaveOrNot(){
	if (!document.frm.haveOrNot) return;
	if(document.frm.haveOrNot[0].checked){
		chgVisible("haveNoAccount", "block");
	}else if(document.frm.haveOrNot[1].checked){
		chgVisible("haveAccount", "block");
	}
}

function checkPaymethod(){
	if(document.frm.paymethod[0].checked){
		chgVisible("frm_card1","none");
		chgVisible("frm_card2","none");
	}else if(document.frm.paymethod[1].checked){

	}
}