jQuery(document).ready(function(){
	RSRuby.regist('customer_sei','cust_sei_kana');
	RSRuby.regist('customer_mei','cust_mei_kana');
	RSRuby.start();

	var addComma = function(str){
		var num = new String(str).replace(/,/g, '');  
		while(num != (num = num.replace(/^(-?\d+)(\d{3})/, '$1,$2')));  
		return num;  
	}

	//------ 商品設定はこちら start ------------
	var goodsList = {
		0:{
			'goodsid':'ns-001',
			'shopid':'S000000001294',
			'name':'初回購入者限定お試しセット ナノ水素水キヨラビ',
			'price':1980,
			'quantity':[1,2,3,4,5],
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		},
		1:{
			'goodsid':'ns-009',
			'shopid':'S000000001294',
			'name':'初回購入者限定6本×5セットお試しコース',
			'price':9900,
			/*'quantity':[1,2,3,4,5],*/
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		},
		2:{
			'goodsid':'ns-002',
			'shopid':'S000000001310',
			'name':'ナノ水素水キヨラビ（20本毎月お届けコース）',
			'price':9450,
			'quantity':[1,2,3,4,5],
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		},
		3:{
			'goodsid':'ns-003',
			'shopid':'S000000001310',
			'name':'ナノ水素水キヨラビ（30本毎月お届けコース）',
			'price':14175,
			'quantity':[1,2,3,4,5],
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		},
		4:{
			'goodsid':'ns-004',
			'shopid':'S000000001310',
			'name':'ナノ水素水キヨラビ（20本一般コース）',
			'price':10500,
			'quantity':[1,2,3,4,5],
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		},
		5:{
			'goodsid':'ns-005',
			'shopid':'S000000001310',
			'name':'ナノ水素水キヨラビ（30本一般コース）',
			'price':15750,
			'quantity':[1,2,3,4,5],
			'quantity_suffix':'セット',
			'pay':{
				2:'代引き(代引き時のカード決済も可能です)'
			}
		}
	};
	//------ 商品設定はこちら end ------------

	var updateGoodsInfo = function(goods){
		jQuery('input[type=hidden][name=p1]').val(goods['shopid']);
		jQuery('input[type=hidden][name=p2[0]]').val(goods['goodsid']);
		jQuery('input[type=hidden][name=p3[0]]').val(1);
		var key = '';
		for(key in goods['pay']){ break; }
		jQuery('input[type=hidden][name=pay_type]').val(key);

		var htmlString = goods['name'];
		if(goods['quantity']!=null){
			htmlString += '<select name="item_quantity">';
			for(var i = 0;i < goods['quantity'].length; i++){
				htmlString += '<option>' + goods['quantity'][i] + '</option>';
			}
			htmlString += '</select>' + goods['quantity_suffix'];
		}
		jQuery('.goods_info td:eq(0)').html(htmlString);
		if(goods['quantity']!=null){
			jQuery('select[name=item_quantity]').bind('change',function(){
				jQuery('input[type=hidden][name=p3[0]]').val(jQuery(this).val());
				var price = 0;
				var goodsid = jQuery('input[type=hidden][name=p2[0]]').val();
				for(var key in goodsList){
					if(goodsList[key]['goodsid']==goodsid){
						price = goodsList[key]['price']*jQuery(this).val();
					}
				}
				jQuery('#item_price').html(addComma(price));
			});
		}
		jQuery('#item_price').html(addComma(goods['price']));

		htmlString = "";
		for( var key in goods['pay'] ){
			htmlString += '<tr><td valign="top" bgcolor="#FFFFFF" class="table_box"><input type="radio" name="pay_type_group" value="' + key + '" id="pay_type' + key + '" /></td>';
			htmlString += '<td width="500" colspan="2" valign="top" bgcolor="#FFFFFF" class="table_box"><label for="pay_type' + key + '">' + goods['pay'][key] + '</label></td></tr>';
		}
		jQuery('#table_paytype').html(htmlString);

		jQuery('input[type=radio][name=pay_type_group]').bind('change',function(){
			jQuery('input[type=hidden][name=pay_type]').val(jQuery(this).val());
		});
	}

	var initRadioPayTypeGroup = function(){
		var pay_type = jQuery('input[type=hidden][name=pay_type]').val();
		jQuery('input[type=radio][name=pay_type_group]').each(function(){
			if(jQuery(this).val() == pay_type){
				jQuery(this).attr('checked',true);
			}else{
				jQuery(this).attr('checked',false);
			}
		});
	}

	jQuery('.goods_button').bind('click',function(){
		var index = 0;
		var i = 0;
		for(key in goodsList){
			if(jQuery(this).is('.item' + (i+1))){
				index = i;
				break;
			}
			i++;
		}
/*
		if( jQuery(this).is('.item1') ){
			index = 0;
		}else if(jQuery(this).is('.item2')){
			index = 1;
		}else if(jQuery(this).is('.item3')){
			index = 2;
		}
*/
		var goods = goodsList[index];
		if(goods==null) return ;
		updateGoodsInfo(goods);
	});

	jQuery('form').bind('submit',function(){
		var result = true;
		var errorMessage = '';
		var requiredList = {
			'customer_sei':'お名前(姓)を入力してください。',
			'customer_mei':'お名前(名)を入力してください。',
			'cust_sei_kana':'ふりがな(姓)を入力してください。',
			'cust_mei_kana':'ふりがな(名)を入力してください。',
			'mailaddress':'E-Mailを入力してください。',
			'pay_type':'支払方法を選択して下さい。'
		}

		for( var i in requiredList ){
		if( jQuery('[name=' + i + ']').val().length == 0 ){
				errorMessage += requiredList[i] + '\n';
				result = false;
			}
		}
		if( jQuery('[name=zip_no1]').val().length == 0 || jQuery('[name=zip_no2]').val().length == 0){
			errorMessage += '郵便番号を入力して下さい。\n';
			result = false;
		}else{
			jQuery('[name=zip_no]').val(jQuery('[name=zip_no1]').val() + '-' + jQuery('[name=zip_no2]').val());
		}
		if( jQuery('[name=phone_no1]').val().length == 0 || jQuery('[name=phone_no2]').val().length == 0 || jQuery('[name=phone_no3]').length == 0){
			errorMessage += '電話番号を入力して下さい。\n';
			result = false;
		}else{
			jQuery('[name=phone_no]').val(jQuery('[name=phone_no1]').val() + '-' + jQuery('[name=phone_no2]').val() + '-' + jQuery('[name=phone_no3]').val());
		}
		if( jQuery('[name=mailaddress]').val() != jQuery('[name=mailaddress_chk]').val() ){
			errorMessage += 'E-Mailが確認用と一致しません\n';
			result = false;
		}
		if(!result){
			alert('入力エラー!!\n\n' + errorMessage);
		}
		return result;
	});

	var element = jQuery(".text_red").parent().next().children("input[type=text][name!=address3],select");
	element.each(function(){
		if( jQuery(this).val() == "" ){
			jQuery(this).css("background-color","#ffebeb");
		}else{
			jQuery(this).css("background-color","#ffffff");
		}
	});
	jQuery(".text_red").parent().next().children("select").bind("change",function(){
		if( jQuery(this).val() == "" ){
			jQuery(this).css("background-color","#ffebeb");
		}else{
			jQuery(this).css("background-color","#ffffff");
		}
	});
	element.bind("hastext",function(){
		jQuery(this).css("background-color","#ffffff");
		if(jQuery(this).attr("id")=="customer_sei"){
			jQuery("#cust_sei_kana").css("background-color","#ffffff");
		}else if(jQuery(this).attr("id")=="customer_mei"){
			jQuery("#cust_mei_kana").css("background-color","#ffffff");
		}
	});
	element.bind("notext",function(){
		jQuery(this).css("background-color","#ffebeb");
		if(jQuery(this).attr("id")=="customer_sei"){
			jQuery("#cust_sei_kana").css("background-color","#ffebeb");
		}else if(jQuery(this).attr("id")=="customer_mei"){
			jQuery("#cust_mei_kana").css("background-color","#ffebeb");
		}
	});
	jQuery.timer(1000,function(timer){
		jQuery("[name=address1],[name=address2]").each(function(){
			if( jQuery(this).val() == "" ){
				jQuery(this).css("background-color","#ffebeb");
			}else{
				jQuery(this).css("background-color","#ffffff");
			}
		});
		timer.reset(1000);
	});


	updateGoodsInfo(goodsList[0]);
	initRadioPayTypeGroup();
});

