/* オーダー用 2010.03.03 */
if(typeof(ordr) == 'undefined'){
var ordr = {
	transpTbl: new Array(),	//送料テーブル保存用
	cashondTb: new Array(),	//代引手数料テーブル保存用
	priceDisp: new Array(),	//金額表示HTML保存用
	optchkflg: new Array(),	//オプションボタン制御用
	odrchkflg: new Array(),	//オーダーチェックフラグ用
	odrcstset: [0,300000,200,300000,300000,15,0,1,2,0,1,0,2,3],	//定数設定
	/* [0]送料値引条件金額[1]代金引換限度額 コンビニ決済…[2]可能額[3]限度額 [4]カード決済限度額(クロネコ)
	 * [5]値引率(％) [6]お申込者選択[7]お届け先指定[8]カード分割払い[9]会員登録する 項目位置
	 * [10]銀行振込[11]代金引換[12]カード決済[13]コンビニ決済 項目位置
	 */
	getodrcheckflg: function(frm){
	/* checkflg加算値(1の場合、左の値を加算する)
	 *  1:コンビニ決済チェックを…0)する 1)しない
	 *  2:カード決済[クロネコペイメント用]チェックを…0)する 1)しない
	 *  4:代引手数料計算を…0)する 1)しない
	 *  8:値引き計算を…0)しない 1)する
	 * 16:送料値引条件を…0)全ての商品合計 1)定価[割引なし]の商品合計
	 */
		var chkvl = 0;	var i = 0;	var j = 1;
		if(frm.checkflg != undefined) chkvl = parseInt(frm.checkflg.value,10);
		for(i = 0;i < 5;i++){
			if(i > 0) j = Math.pow(2,i);
			this.odrchkflg[i] = chkvl & j;
		}
	},
	odrininit: function(tls){
	/* 購入申込入力時の初期化処理 */
		var i = 0;	var frm = document.odrin;
		//代引手数料テーブル初期化
		var wa = frm.c_on_d_lst.value.split(',');
		for(i = 0;i < wa.length;i++){
			this.cashondTb[i] = wa[i].split(':');
		}
		//送料テーブル初期化
		var wb = tls.split(',');
		for(i = 0;i < wb.length;i++){
			this.transpTbl[i] = wb[i].split(':');
		}
		//支払い方法切替設定
		for(i = 0;i < frm.payment.length;i++){
			util.addevent(frm.payment[i],'click',function(){ ordr.recalc(); });
		}
		//お届け先指定切替設定
		for(i = 0;i < frm.transp.length;i++){
			util.addevent(frm.transp[i],'click',function(){ ordr.transpdisp(); });
		}
		this.getodrcheckflg(frm);		//計算制御フラグ取得
//-----2010.03.05 クール便計算対応 START
		var ckm = util.getsysdate(1);
		if(ckm > 2) this.odrcstset[0] = 1000000;
//-----2010.03.05 クール便計算対応 END
		this.transpdisp();	//お届け先指定切替
	},
	cardininit: function(){
	/* カード情報入力時の初期化処理 */
		var i = 0;	var frm = document.cardin;
		for(i = 0;i < frm.PAYMODE.length;i++){
			util.addevent(frm.PAYMODE[i],'click',function(){ ordr.cardpaycount(); });
		}
		this.cardpaycount();	//カード分割払い支払回数制御
	},
	cartinit: function(){
	/* ショッピングカート用計算処理 */
		var frm = document.odrcart;
		if(frm != undefined){
			this.getodrcheckflg(frm);		//計算制御フラグ取得
			if(this.odrchkflg[3] > 0){
				this.discountcalc(frm);		//値引き計算
				this.totalcalc(frm);	//総合計計算
			}
		}
	},
	transpdisp: function(){
	/* お届け先指定制御 */
		var frm = document.odrin;
		var ifm = util.ge('i_distinct');
		if(frm.transp[this.odrcstset[7]].checked){	//お届け先指定
			ifm.src = 'disti.php?m=lst&u=1';	ifm.width = 585;	ifm.height = 500;
			ifm.style.visibility = 'visible';
		}else{
			ifm.width = 0;	ifm.height = 0;
			ifm.style.visibility = 'hidden';
			this.recalc();	//送料等再計算
		}
	},
	cardpaycount: function(){
	/* カード分割払い支払回数制御 */
		var frm = document.cardin;
		this.optsetchkonoff('cardpaycnt',frm.PAYMODE[this.odrcstset[8]],frm.PAYCOUNT);
	},
	datinchk: function(frm){
	/* データ入力チェック */
		if(valid.submit(frm)){
			util.buttonlockonoff(0,frm);
			return true;
		}
		return false;
	},
	odrinchk: function(frm){
	/* 購入申込入力チェック */
		if(valid.submit(frm)){
			util.buttonlockonoff(0,frm);
			if(this.adrinchk(frm)){
				if(this.mebinchk(frm)){
					if(this.recalc()){
						return true;
					}
				}
			}
			util.buttonlockonoff(1,frm);
		}
		return false;
	},
	adrinchk: function(frm){
	/* 複数住所チェック */
		if(frm.transp[this.odrcstset[7]].checked){	//お届け先指定
			if(frm.disflg.value != '0'){
				util.ge('i_distinct').src = 'disti.php?m=lst&u=1';
				alert('商品の振り分けをおこなってください。');
				return false;
			}
		}
		return true;
	},
	mebinchk: function(frm){
	/* 会員登録チェック */
		if(frm.mbaddsel != undefined && frm.mbaddsel.length){
			if(frm.mbaddsel[this.odrcstset[9]].checked && frm.pwd1.value == ''){	//会員登録する
				alert('パスワードの入力をおこなってください。');
				frm.pwd1.focus();
				return false;
			}
		}
		return true;
	},
	recalc: function(){
	/* 購入申込入力時の送料等再計算 */
		var fg = new Array();		var frm = document.odrin;
		var i = 0;	var ofg = this.odrchkflg;
		fg[0] = false;
		if(frm != undefined){
			fg[0] = true;
			fg[1] = this.transpcalc(0);		//送料計算
			if(ofg[3] > 0) this.discountcalc(frm);	//値引き計算
			if(ofg[2] < 1){
				fg[2] = this.cashondcalc(frm);	//代引手数料計算
			}else{
				fg[2] = true;
			}
			fg[3] = this.totalcalc(frm);	//総合計計算
			if(ofg[0] < 1){
				fg[4] = this.convenipaychk(frm);	//コンビニ決済チェック
			}else{
				fg[4] = true;
			}
			if(ofg[1] < 1){
				fg[5] = this.cardpaychk(frm);		//カード決済チェック(クロネコペイメント用)
			}else{
				fg[5] = true;
			}
			for(i = 0;i < 6;i++){
				if(fg[i] == false) fg[0] = false;
			}
		}
		return fg[0];
	},
	transpcalc: function(fg){
	/* 送料計算 */
		var frm = document.odrin;		var i = 0;	var trnpce = 0;
		var pia = new Array();	var tpa = new Array();	var oct = this.odrcstset;
		if(frm.transp[oct[7]].checked){		//お届け先指定
			pia = util.ge('i_distinct').contentWindow.dist.getplacecdary();
		}else{
			pia[0] = frm.place1.selectedIndex;
		}
		var tfg = 1;	//送料サービス条件をクリアしているか
		var ofg = this.odrchkflg;		var gsm = frm.gpbsum.value;
		if(ofg[4] < 1) gsm = frm.gdssum.value;
		if(parseInt(gsm,10) >= oct[0]) tfg = 2;
		for(i = 0;i < pia.length;i++){
			tpa[i] = parseInt(this.transpTbl[pia[i]][tfg],10);	//送料テーブルより算出
			trnpce += tpa[i];
		}
		//送料表示 or 送料算出戻し
		if(fg < 1){
			frm.transprice.value = trnpce;	//送料設定
			util.ge('i_transprice').innerHTML = this.priceDisp[0].replace('##VAL##',util.addcomma(trnpce));
			return true;
		}else{
			return tpa;
		}
	},
	cashondcalc: function(frm){
	/* 代引手数料計算 */
		var cashond = 0;	var cfg = true;		var oct = this.odrcstset;
		//代金引換可能金額か
		var cmax = oct[1];	var cchk = parseInt(frm.gdssum.value,10) + parseInt(frm.transprice.value,10);
		cchk += parseInt(frm.discount.value,10);
		if(cchk >= cmax){
			if(frm.payment[oct[11]].checked){		//代金引換
				cfg = false;
				frm.payment[oct[10]].checked = true;	//銀行振込選択
				alert('代金引換は、'+ util.addcomma(cmax) +'円未満まで可能です。');
			}
			frm.payment[oct[11]].disabled = true;		//代金引換無効化
		}else{
			frm.payment[oct[11]].disabled = false;	//代金引換有効化
		}
		//代金引換を選択しているか
		if(frm.payment[oct[11]].checked && cfg){	//代金引換
			//代引手数料テーブルより算出
			var i = 0;	var chkv = new Array();
			for(i = 0;i < this.cashondTb.length;i++){
				chkv = this.cashondTb[i];
				if(cchk >= parseInt(chkv[0],10) && cchk <= parseInt(chkv[1],10)){
					cashond = parseInt(chkv[2],10);
					break;
				}
			}
			if(frm.transp[oct[7]].checked){		//お届け先指定
				frm.transp[oct[6]].checked = true;	//お申込者選択
				this.transpdisp();	//お届け先指定切替
			}
			frm.transp[oct[7]].disabled = true;		//お届け先指定無効化
		}else{
			frm.transp[oct[7]].disabled = false;	//お届け先指定有効化
		}
		frm.cashondelivery.value = cashond;		//代引手数料設定
		//代引手数料表示
		var vwob = util.ge('i_c_on_d');
		if(vwob != undefined) vwob.innerHTML = this.priceDisp[1].replace('##VAL##',util.addcomma(cashond));
		return cfg;
	},
	discountcalc: function(frm){
	/* 値引き計算 */
		//値引き条件をクリアしているか
		var discntp = 0;	var ofg = this.odrchkflg;		var gsm = frm.gpbsum.value;		var oct = this.odrcstset;
		if(ofg[4] < 1) gsm = frm.gdssum.value;
		if(parseInt(gsm,10) >= oct[0]){
			discntp -= Math.round(((parseInt(frm.gdssum.value,10) * oct[5]) / 100));	//値引額計算
		}
		frm.discount.value = discntp;		//値引額設定
		var vwob = util.ge('i_discount');
		if(vwob != undefined) vwob.innerHTML = this.priceDisp[3].replace('##VAL##',util.addcomma(discntp));
	},
	totalcalc: function(frm){
	/* 総合計計算 */
		var totalm = parseInt(frm.gdssum.value,10) + parseInt(frm.transprice.value,10);
		totalm += parseInt(frm.cashondelivery.value,10) + parseInt(frm.discount.value,10);
		//総合計金額表示
		util.ge('i_totalmoney').innerHTML = this.priceDisp[2].replace('##VAL##',util.addcomma(totalm));
		return true;
	},
	convenipaychk: function(frm){
	/* コンビニ決済チェック */
		//決済限度額チェック
		var cfg = true;		var oct = this.odrcstset;
		var totalm = parseInt(frm.gdssum.value,10) + parseInt(frm.transprice.value,10);
		totalm += parseInt(frm.discount.value,10);
		if(totalm < oct[2] || totalm >= oct[3]){
			if(frm.payment[oct[13]].checked){		//コンビニ
				cfg = false;
				frm.payment[oct[10]].checked = true;	//銀行振込選択
				var meg = 'コンビニ支払は、'+ util.addcomma(oct[2]) +'円〜';
				meg += util.addcomma(oct[3]) +'円未満の範囲で可能です。';
				alert(meg);
			}
			frm.payment[oct[13]].disabled = true;		//コンビニ無効化
		}else{
			frm.payment[oct[13]].disabled = false;	//コンビニ有効化
		}
		//支払先コンビニ選択肢制御
		this.optsetchkonoff('convenipay',frm.payment[oct[13]],frm.convenipay);
		return cfg;
	},
	optsetchkonoff: function(id,mfd,sfd){
	/* オプションボタン制御 */
		var i = 0;	var fg = true;	var cf = false;
		if(mfd.checked) fg = false;
		for(i = 0;i < sfd.length;i++){
			if(sfd[i].checked){
				cf = true;
				if(fg == true){
					sfd[i].checked = false;
					this.optchkflg[id] = i;
				}
			}
			sfd[i].disabled = fg;
		}
		i = 0;
		if(this.optchkflg[id] != undefined) i = this.optchkflg[id];
		if(cf == false && fg == false) sfd[i].checked = true;
	},
	cardpaychk: function(frm){
	/* カード決済チェック(クロネコペイメント用) */
		//決済限度額チェック
		var cfg = true;		var oct = this.odrcstset;
		var totalm = parseInt(frm.gdssum.value,10) + parseInt(frm.transprice.value,10);
		totalm += parseInt(frm.discount.value,10);
		if(totalm < 1 || totalm >= oct[4]){
			if(frm.payment[oct[12]].checked){		//カード
				cfg = false;
				frm.payment[oct[10]].checked = true;	//銀行振込選択
				alert('クレジットカード決済は、'+ util.addcomma(oct[4]) +'円未満まで可能です。');
			}
			frm.payment[oct[12]].disabled = true;		//カード無効化
		}else{
			frm.payment[oct[12]].disabled = false;	//カード有効化
		}
		return cfg;
	},
//-----2010.03.05 送料表示対応 START
	readmoreonoff: function(id){
	/* エレメント表示非表示 */
		var el = util.ge(id);		var fg = 'inline-block';
		if(el.style.display != 'none') fg = 'none';
		el.style.display = fg;
	},
//-----2010.03.05 送料表示対応 END
	del: function(elm,fg,id){
	/* 削除確認をしてＯＫの場合、mode,idをセットしてフォームをサブミット */
		var frm = elm.form;		var msg = new Array();	var mdv = new Array();
		msg[0] = '商品を取り消します。本当によろしいですか？';	mdv[0] = 'gdel';
		if(confirm(msg[fg])){
			frm.m.value = mdv[fg];	frm.id.value = id;	frm.submit();
		}
	},
	alldel: function(elm){
	/* 全削除の確認をしてＯＫの場合、modeをセットしてフォームをサブミット */
		var frm = elm.form;
		if(confirm('買い物カートをクリアします。本当によろしいですか？')){
			frm.m.value = 'alld';		frm.submit();
		}
	}
};
}
