/* ---------------------------------------------------------------------
JavaScript for allsports
FileName: cart.js
--------------------------------------------------------------------- */

// *** フォーム送信
function cartFormSend(formObj){
	document.forms[formObj].submit();
	return true;
}

// *** フォーム送信ダブルクリック禁止
function disableDC(buttonObject, formObj){
	buttonObject.disabled = true;
	DCButton = buttonObject;

	document.forms[formObj].submit();
	setTimeout('DCButton.disabled = false;', 5 * 1000);
	return true;
}

// *** フォームのバリューを置き換え
function cartCaptionCheck(itemIdx, formName, elementBasename, status){

	elementName = elementBasename + itemIdx
	targetObj = document.forms[formName].elements[elementName];
	var valueTxt = status ? '' : '写真に入れたい文章を入力！（35文字まで）';
	if(targetObj.value == '写真に入れたい文章を入力！（35文字まで）' && status) targetObj.value = valueTxt;
	if(!status) targetObj.value = valueTxt;

}

function defaultDifferentAddress(formName, elementName){
	targetObj = document.forms[formName].elements[elementName];
	if (targetObj.checked) {
		document.getElementById('delivery_form').style.display = 'block';
		document.getElementById('delivery_form').style.visibility = 'visible';
		document.getElementById('payment_convenience_post').style.display = 'none';
		document.getElementById('payment_convenience_post').style.visibility = 'hidden';
		document.getElementById('payment_cod').style.display = 'none';
		document.getElementById('payment_cod').style.visibility = 'hidden';

		document.cart_form.payment_code[1].checked = true;

	}
}
function changeDifferentAddress(targetObj){
	if (targetObj.checked) {
		if(navigator.appName.indexOf("Microsoft") > -1){
			document.getElementById('delivery_form').style.display = 'block';
			document.getElementById('delivery_form').style.visibility = 'visible';
			document.getElementById('payment_convenience_post').style.display = 'none';
			document.getElementById('payment_convenience_post').style.visibility = 'hidden';
			document.getElementById('payment_cod').style.display = 'none';
			document.getElementById('payment_cod').style.visibility = 'hidden';

			document.cart_form.payment_code[1].checked = true;
		} else {
			document.getElementById('delivery_form').style.display = 'table-row';
			document.getElementById('delivery_form').style.visibility = 'visible';
			document.getElementById('payment_convenience_post').style.display = 'none';
			document.getElementById('payment_convenience_post').style.visibility = 'hidden';
			document.getElementById('payment_cod').style.display = 'none';
			document.getElementById('payment_cod').style.visibility = 'hidden';

			document.cart_form.payment_code[1].checked = true;
		}

	} else {
		if(navigator.appName.indexOf("Microsoft") > -1){
			document.getElementById('delivery_form').style.display = 'none';
			document.getElementById('delivery_form').style.visibility = 'hidden';
			document.getElementById('payment_convenience_post').style.display = 'block';
			document.getElementById('payment_convenience_post').style.visibility = 'visible';
			document.getElementById('payment_cod').style.display = 'block';
			document.getElementById('payment_cod').style.visibility = 'visible';
		} else {
			document.getElementById('delivery_form').style.display = 'none';
			document.getElementById('delivery_form').style.visibility = 'hidden';
			document.getElementById('payment_convenience_post').style.display = 'table-row';
			document.getElementById('payment_convenience_post').style.visibility = 'visible';
			document.getElementById('payment_cod').style.display = 'table-row';
			document.getElementById('payment_cod').style.visibility = 'visible';
		}
	}

}

// *** 合計値の計算
function PriceSum()
{

	caption_price = mojiire_price;

	formName = 'destination_address_form';

	pricefield1 = 'price_disp1';
	pricefield2 = 'price_disp2';
	discountField1 = 'discount_disp';
	discountField2 = 'discount_disp2';

	formObj = document.forms[formName];
	totalnum = formObj.total_items.value;

	if (totalnum < 1) {

		alldata_totalnum = formObj.total_alldata.value;
		alldata_subtotal = 0;
		if (alldata_totalnum > 0) {
			alldata_price = formObj.alldata_price.value;
			for (var i = 0; i < alldata_totalnum; i++) {
				amountName = "alldataamount" + i;
				amountObj = formObj.elements[amountName];
				amount = amountObj.options[amountObj.selectedIndex].value;
				alldata_subtotal = alldata_subtotal + alldata_price * amount;
			}
		}

		sum_price = sum_price + alldata_subtotal;
		disp_str = NumberFormat(sum_price) + "円";
		document.getElementById(pricefield1).innerHTML = disp_str;
		document.getElementById(pricefield2).innerHTML = disp_str;


		return true;
	}

	campaign_type2 = 0;
	campaign_type3 = 0;
	for (var i = 0; i < totalnum; i++) {
		campaignName = "campaign" + i;
		amountName = "amount" + i;

		amountObj = formObj.elements[amountName];
		amount = amountObj.options[amountObj.selectedIndex].value;
		campaign = formObj.elements[campaignName].value;

		if (campaign == 2) {
			campaign_type2 += amount * 1;
        } else if (campaign == 3) {
			campaign_type3 += amount * 1;
        }
	}

	discount_flag = false;
	discount_amount = 0;
	sum_price = 0;
	for (var i = 0; i < totalnum; i++) {
		articleName = "article_id" + i;
		amountName = "amount" + i;

		articleObj = formObj.elements[articleName];
		amountObj = formObj.elements[amountName];

		article_id = articleObj.options[articleObj.selectedIndex].value;
		amount = amountObj.options[amountObj.selectedIndex].value;

		campaignName = "campaign" + i;
		campaign = formObj.elements[campaignName].value;

		priceName = "price" + i + "_" + article_id;
		price = formObj.elements[priceName].value;

		if (campaign == 2) {
			if (campaign_type2 >= 10) {
				sum_price += Math.ceil(price * 0.9) * amount;
				discount_amount += Math.floor(price * 0.1) * amount;
				discount_flag = true;
			} else {
				sum_price += price * amount;
			}
		} else if (campaign == 3) {
			if (campaign_type3 >= 10 && campaign_type3 < 20) {
				sum_price += Math.ceil(price * 0.9) * amount;
				discount_amount += Math.floor(price * 0.1) * amount;
				discount_flag = true;
			} else if (campaign_type3 >= 20 && campaign_type3 < 30) {
				sum_price += Math.ceil(price * 0.85) * amount;
				discount_amount += Math.floor(price * 0.15) * amount;
				discount_flag = true;
			} else if (campaign_type3 >= 30) {
				sum_price += Math.ceil(price * 0.8) * amount;
				discount_amount += Math.floor(price * 0.2) * amount;
				discount_flag = true;
			} else {
				sum_price += price * amount;
			}
		} else {
			sum_price += price * amount;
		}

		captionName = "caption" + i;
		mojiirePriceName = "mojiire_pricedisp" + i;
		mojiireAmountName = "mojiire_amountdisp" + i;
		if (formObj.elements[captionName]) {
			captionObj = formObj.elements[captionName];
			for (var j = 0; j < captionObj.length; j++) {
				if(captionObj[j].checked == true) {
					if (captionObj[j].value == "3") {
						sum_price += caption_price * amount;
						document.getElementById(mojiirePriceName).innerHTML = "自由文字入れ" + caption_price + "円";
						document.getElementById(mojiireAmountName).innerHTML = amount + "点";
					} else {
						document.getElementById(mojiirePriceName).innerHTML = "";
						document.getElementById(mojiireAmountName).innerHTML = "";
					}
				}
			}
		}

	}

	alldata_totalnum = formObj.total_alldata.value;
	alldata_subtotal = 0;
	if (alldata_totalnum > 0) {
		alldata_price = formObj.alldata_price.value;
		for (var i = 0; i < alldata_totalnum; i++) {
			amountName = "alldataamount" + i;
			amountObj = formObj.elements[amountName];
			amount = amountObj.options[amountObj.selectedIndex].value;
			alldata_subtotal = alldata_subtotal + alldata_price * amount;
		}
	}

	sum_price = sum_price + alldata_subtotal;
	disp_str = NumberFormat(sum_price) + "円";
	document.getElementById(pricefield1).innerHTML = disp_str;
	document.getElementById(pricefield2).innerHTML = disp_str;

	if (discount_flag) {
		document.getElementById(discountField1).style.visibility = 'visible';
		document.getElementById(discountField2).style.visibility = 'visible';
		document.getElementById(discountField1).style.display = 'inline';
		document.getElementById(discountField2).style.display = 'inline';
		discount_disp_str = NumberFormat(discount_amount) + "円引きの価格です";
		document.getElementById(discountField1).innerHTML = discount_disp_str;
		document.getElementById(discountField2).innerHTML = discount_disp_str;
	} else {
		document.getElementById(discountField1).style.visibility = 'hidden';
		document.getElementById(discountField2).style.visibility = 'hidden';
		document.getElementById(discountField1).style.display = 'none';
		document.getElementById(discountField2).style.display = 'none';
		document.getElementById(discountField1).innerHTML = "";
		document.getElementById(discountField2).innerHTML = "";
	}

}
function NumberFormat(x) {
    var s = "" + x;
    var p = s.length;
    var r = "";
    for (var i = 0; i < p; i++) {
        var c = s.substring(p - 1 - i, p - 1 - i + 1);
        if (c < "0" || c > "9") {
            r = s.substring(0, p - i) + r;
            break;
        }
        if (i > 0 && i % 3 == 0) {
            r = "," + r;
        }
        r = c + r;
    }
    return r;
}

function CartDel(cart_num) {
	formName = 'destination_address_form';
	formObj = document.forms[formName];
	formObj.action = "cart_del.php";
	formObj.cart_num.value = cart_num;
	formObj.submit();

}

function CartAdd(page_id, event_id, photo_id, photographer_id, photo_num, photo_hash,album_id) {

	formName = 'destination_address_form';
	formObj = document.forms[formName];
	formObj.action = "cart_add.php";
	formObj.page_id.value = page_id;
	formObj.event_id.value = event_id;
	formObj.photo_id.value = photo_id;
	formObj.photographer_id.value = photographer_id;
	formObj.photo_num.value = photo_num;
	formObj.photo_hash.value = photo_hash;
	formObj.album_id.value = album_id;
	formObj.submit();

}

function OpenCartDetail(theURI, PhotoId) {
    WinName = 'DetailWin' + PhotoId;
    PopUpWin=window.open(theURI, WinName,'scrollbars=0,width=630,height=650,resizable=1,directories=0, toolbar=0,status=1,location=0');
    PopUpWin.focus();
}
