// JavaScript Document

/*---------------------------------- General  -------------------------------------*/
String.prototype.lengthOfBytes = 	function(){
										var count = 0;
										for(i = 0 ; i < this.length ; i++) {
											var char = escape(this.charAt(i));
											if(char.length < 4) {
												count++;
											}	else {
												count += 2;
											}
										}
										return count;
									};
function isEmpty(obj) {
	var value = obj.value;
	return (value == null || value == "") ? true : false;
}
function hasEmptyValue() {
	for (i = 0 ; i < arguments.length ; i++) {
		obj = arguments[i];
		if (obj.value == "") {return true;}
	}
	return false
}


var DP_BagPrint = "";

/*---------------------------------- プリント料金設定  -------------------------------------*/
function updatePrintChargeCell(charge) {
	var chargeCell = document.getElementById("chargeCell");
	if(isNaN(charge) || charge == 0) {
		chargeCell.innerHTML = "--";
	}	else {
		chargeCell.innerHTML = "¥" + charge.toString();
	}
}
/*-------------------------  送信用のプリント料金の文字列を取得 例）@@1000 --------------------------*/
function getChargeValue(charge) {
	var value;
	if(isNaN(charge) == false && charge > 0) {
		value = "@@" + charge.toString();
	}	else {
		value = "";
	}
	return value;
}
/*---------------------------------- 数量が変更されたときの処理  -------------------------------------*/
function checkNum(mytextbox) {
	var myNumbers = "0123456789";
	var w = "";
	for (i=0; i < mytextbox.value.length; i++) {
		x = mytextbox.value.charAt(i);
		if (myNumbers.indexOf(x,0) != -1) {
			if ((w += x) == "0") {
				w = "";
			}
		}
	}
	
	if (w == "") {
		w = mytextbox.defaultValue;
	}
	
	mytextbox.value = w;
	
	
	if (DP_BagPrint == "片面プリント") {
		updatePrintChargeCell(printCharge(w, 0));
	}	else if (DP_BagPrint == "両面プリント") {
		updatePrintChargeCell(printCharge(w, 1));
	}	else {
		updatePrintChargeCell(0);
	}
	
}
function validateQuantity(qty){
	if (qty.value > 99999)
	{
		alert("ご注文枚数は99999枚以下にして下さい。");
		qty.value = 99999;
		qty.focus();
		return false;
	}
	if (qty.value == 0) {
		qty.value = 1;
	}
	return true;		
}
/*------------------------------- プリントが変更されたときの処理  ----------------------------------*/
function printDidChange(obj) {
	DP_BagPrint = obj.value;
	
	if (DP_BagPrint == "片面プリント") {
		updatePrintChargeCell(printCharge(document.cartForm.num.value, 0));
	}	else if (DP_BagPrint == "両面プリント") {
		updatePrintChargeCell(printCharge(document.cartForm.num.value, 1));
	}	else {
		updatePrintChargeCell(0);
	}

}
/*------------------------------- Form送信  ----------------------------------*/
function validateForm() {
	var formObj = document.cartForm;
	
	if (formObj.opt4.value !== "") {
		var lengthOfBytes = formObj.opt4.value.lengthOfBytes();
		if (lengthOfBytes > 100) {
			alert("プリントに関する指示・ご要望は50文字以内に納めて下さい。");
			return false;
		}
	}
	
	if (DP_BagPrint != "") {
		var fileID;
		if (formObj.mailAttach.checked) {
			fileID = "mail入稿";
		}	else {
			fileID = formObj.fPrintFile.value;
			if (fileID == "") {
				alert("プリントに使用するファイルをアップロードして下さい。\nご注文後にメールで送信する場合は「メールで入稿する」をチェックしてください。");
				return false;
			}
		}
		var index = (DP_BagPrint == "片面プリント") ? 0 : 1;
		var pricharge = printCharge(formObj.num.value, index);
		
		formObj.opt1.value = DP_BagPrint + "＜" + fileID + "＞" + getChargeValue(pricharge);
		
		var _pid = (formObj.printid.value !== "") ? formObj.printid.value : formObj.idSeed.value;
		formObj.opt2.value = "PID:" + _pid;
	}
	
	return true;
}
/*---------------------------------- 表示切り替え  -------------------------------------*/
function DP_displayBlock(blockObj) {
	var vType = (blockObj.style.display == "none") ? "block" : "none";
	blockObj.style.display = vType;
}
function DP_displayExBlock() {
	var formObj = document.cartForm;
	var block = document.getElementById("exBlock");
	if (formObj.f_mailAttach.checked || formObj.b_mailAttach.checked) {
		block.style.display = "block";
	}	else {
		block.style.display = "none";
	}
}
/*---------------------------------- ポップアップウインドウOPEN  -------------------------------------*/
function DP_sizeChartOpen(url) {//サイズチャートを開く
	var hFlag = (screen.availHeight > 400) ? 2 : 0;
	var wFlag = (screen.availWidth > 580) ? 1 : 0;
	
	switch (hFlag + wFlag) {
		case 3:window.open(url,"サイズチャート","width=580,height=400,scrollbars=yes,resizable=yes");break;
		case 2:window.open(url,"サイズチャート","width=screen.availWidth,height=400,scrollbars=yes,resizable=yes");break;
		case 1:window.open(url,"サイズチャート","width=580,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
		case 0:window.open(url,"サイズチャート","width=screen.availWidth,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
	}
}
function DP_printchargeOpen(url) {//プリント料金表を開く
	var hFlag = (screen.availHeight > 480) ? 2 : 0;
	var wFlag = (screen.availWidth > 580) ? 1 : 0;
	
	switch (hFlag + wFlag) {
		case 3:window.open(url,"アップロード","width=580,height=480,scrollbars=yes,resizable=yes");break;
		case 2:window.open(url,"アップロード","width=screen.availWidth,height=480,scrollbars=yes,resizable=yes");break;
		case 1:window.open(url,"アップロード","width=580,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
		case 0:window.open(url,"アップロード","width=screen.availWidth,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
	}
}
function DP_uploadwindowOpen(url) {//アップロードウィンドウを開く	
	var hFlag = (screen.availHeight > 530) ? 2 : 0;
	var wFlag = (screen.availWidth > 580) ? 1 : 0;
	
	switch (hFlag + wFlag) {
		case 3:window.open(url,"アップロード","width=580,height=530,scrollbars=yes,resizable=yes");break;
		case 2:window.open(url,"アップロード","width=screen.availWidth,height=530,scrollbars=yes,resizable=yes");break;
		case 1:window.open(url,"アップロード","width=580,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
		case 0:window.open(url,"アップロード","width=screen.availWidth,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
	}
}
function DP_eospWindowOpen(url) {//シルクプリント見積もりフォームを開く
	var hFlag = (screen.availHeight > 850) ? 2 : 0;
	var wFlag = (screen.availWidth > 750) ? 1 : 0;
	
	switch (hFlag + wFlag) {
		case 3:window.open(url,"見積もりフォーム","width=750,height=850,scrollbars=yes,resizable=yes");break;
		case 2:window.open(url,"見積もりフォーム","width=screen.availWidth,height=850,scrollbars=yes,resizable=yes");break;
		case 1:window.open(url,"見積もりフォーム","width=750,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
		case 0:window.open(url,"見積もりフォーム","width=screen.availWidth,height=screen.availHeight,scrollbars=yes,resizable=yes");break;
	}
}

