var U = 70;//単価
var UC = U;
var M = 5000;//月額基本料金
var T;
var mode = 'p';
var C_v = false;
var C_m = true;
var C_s = true;

var color_ok = '#FFF';
var color_hl = '#FFC';
var color_ng = color_hl;

var swspd = 400;
var efspd = 200;

$(function(){
	/**/
	set_html();
	price_set();
	apply_css();
	set_default();
	hl_tbl();
	bind_event();
	$('#vol').focus();
	calc_unit(U);
});

function bind_event(){
	//var target = $('#costing input[@type=text],#costing input[@type=radio],#costing input[@type=checkbox]');
	//console.log(target)
	//$('#costing input[@type=text]').blur(function(){calc($(this));});
	$('#costing input[@type=text]').keyup(function(){calc($(this));});
	$('#costing input[@type=radio]').click(function(){calc($(this));});
	$('#costing input[@type=checkbox]').change(function(){calc($(this));});
	$('#btn_calc,#btn_again').click(function(){sh_res($(this));});
	$('#prm,#res').submit(function(){return false;});
	$('#show_exp a').click(function(){s_exp();return false;});
	$('#hide_exp a').click(function(){h_exp();return false;});
	//$('#vol').click(function(){$('#vol').focus().select();});
	fcs_sel('#vol');
	fcs_sel('#course_m');
	fcs_sel('#course_s');
}


function fcs_sel(obj){
	//console.log('call fcs_sel');
	//obj.focus().select();
	//$(obj).click(function(){$(obj).focus().select();});//click,focus,select
	$(obj).click(function(){
		if($(obj).val() == 0){$(obj).val('');}
	});//2008/08/11
}

function s_exp(){
	$('#exposition').show(swspd);$('#show_exp').hide(swspd);
	//disp_t($('#exposition'));disp_f($('#show_exp'));
	
}
function h_exp(){
	$('#exposition').hide(swspd);$('#show_exp').show(swspd);
	//disp_f($('#exposition'));disp_t($('#show_exp'));
}


function sh_res(){
	
	if($('#vol').val()==''){$('#vol').val(0);}
	if($('#course_m').val()==''){$('#course_m').val(0)}
	if($('#course_s').val()==''){$('#course_s').val(0)}
	
	
	
	
	if(!C_v){
		
		alert(G_msg);
		//alert('「仕訳数」には1以上の数値を入力して下さい');
		
		return false;
	}
	if(!C_m){
		alert('「月次照合勘定科目数」に100以上の数値は入力出来ません');
		return false;
	}
	if(!C_s){
		alert('「月次照合補助科目数」に100以上の数値は入力出来ません');
		return false;
	}
	
	
	
	
	
	
	mode = mode=='p'?'r':'p';
	
	if(mode=='r'){
		/*
		$('#prm').hide(efspd);//残す
		//$('#box_btn_calc').hide(efspd);
		$('#res').show(efspd);//常時
		*/
		
		
		disp_f($('#prm'));
		//disp_t($('#box_btn_calc'));
		disp_t($('#res'));
		
	}else{
		/*
		$('#prm').show(efspd);//残す
		//$('#box_btn_calc').show(efspd);
		$('#res').hide(efspd);//常時
		*/
		
		disp_t($('#prm'));
		//disp_t($('#box_btn_calc'));
		disp_f($('#res'));
		
	}
	jumpToPageTop();
}

//slideUp
//slideDown

function disp_f(obj){
	obj.hide(efspd);
	//obj.slideUp(efspd);
}
function disp_t(obj){
	obj.show(efspd);
	//obj.slideDown(efspd);
}












function calc(obj){
	
	var id = obj.attr('id');
	var name = obj.attr('name');
	var val = obj.val();
	var str = '';
	
	
	
	
	

	
	
	
	
	
	
	
	
	switch(name){
		case 'vol':

			
			//obj.css('background',check_num(val,999)?color_ok:color_ng);
			

			
			
			
			//半角に変換
			//if(isNaN(val)){val = z2h(val);$('#vol').val(z2h(val));}
			
			//console.log(isNaN(val))
			
			
			//var f = 1<num && num<100?true:false;
			//str = f?'小ロットでの計算になります':'';
			
			G_msg = '';//グローバル
			
			switch(true){
				case(isNaN(val)):
					str = '数値以外は入力出来ません';
					C_v = false;
				break;
				case(val<1):
					str = '1以上の数値を入力して下さい';
					
					C_v = false;
				break;
				case(0<val && val<100):
					str = '小ロットでの計算になります';
					C_v = true;
				break;
				
				//追加2008/08/11
				case(900<val):
					str = '901以上の場合は別途ご相談ください';
					//alert('901以上の場合は別途ご相談ください');
					//$('#vol').val('');
					
					C_v = false;
				break;
				
				
				
				
				default:
					str = '';
					C_v = true;
				break;
			}
			$('#vol_warn').text(str);
			G_msg = str;
			
			
			
			obj.css('background', C_v?color_ok:color_ng);
			judge_smalllot(val);
			hl_tbl();
			
			if(C_v){$('#box_btn_calc #btn_calc').css('background-image','url(common/images/mistumori/mitumori_b.gif)');}else{$('#box_btn_calc #btn_calc').css('background-image','url(common/images/mistumori/shiwake_b.gif)');}
			
			
			
		break;
		
		case 'course_m':
			
			if(100<=val){
				alert('100以上の数値は入力出来ません');
				$('#course_m').val(0);
				//$('#course_m_warn').text('aaaa');
			}
			
			obj.css('background',(val<=100)?color_ok:color_ng);
			str = (100<val)?'100以上の数値は入力出来ません':'';
			$('#course_m_warn').text(str);
			C_m = (val<101)?true:false;
			
		break;
		
		case 'course_s':
			
			if(100<=val){
				alert('100以上の数値は入力出来ません');
				$('#course_s').val(0);
				//$('#course_s_warn').text('100以上の数値は入力出来ません');
			}
			
			obj.css('background',(val<=100)?color_ok:color_ng);
			str = (100<val)?'100以上の数値は入力出来ません':'';
			$('#course_s_warn').text(str);
			C_s = (val<101)?true:false;
		break;
		
		case 'due':
			hl_tbl();
		break;
		
		default:break;
	}
	
	
	
	calc_unit(U);
	//console.log(C_m+'/'+C_m+'/'+C_s)
	//console.log($('#tr_'+$('input[@name=due][@checked]').val()+' th').text())
}

function hl_tbl(){
	$('#tbl_due td').css('background','#FFF');
	$('#tbl_due th').css('background','#F7F7F7');
	//$('th.cell_0').css('background','#FAF9D4');
	$('#trth th').css('background','#EDFAF3');
	
	$('#trth .cell_5').css('background','#FFE5E5');
	
	
	var vol = $('#vol').val();
	switch(true){
		case(vol<=300):hlclass='cell_1';break;
		case(301<=vol && vol<=600):hlclass='cell_2';break;
		case(601<=vol && vol<=900):hlclass='cell_3';break;
		case(901<=vol):hlclass='cell_4';break;
		default:hlclass='';break;
	}
	//console.log(hlclass)
	
	$('#tbl_due .'+hlclass).css('background',color_hl);
	$('#tr_'+$('input[@name=due][@checked]').val()+' td').css('background',color_hl);
	$('#tr_'+$('input[@name=due][@checked]').val()+' th').css('background',color_hl);
	
	$('#tr_'+$('input[@name=due][@checked]').val()+' td.'+hlclass).css('background','#FC0');
}


function calc_unit(tmp){
	/*
	tmp = $('input[@name=sheets][@checked]').val()=='n'?tmp:tmp-2;
	tmp = $('input[@name=receipt][@checked]').val()=='n'?tmp+2:tmp;
	*/
	
	switch($('input[@name=g1][@checked]').val()){
		case'1n':tmp = tmp;break;
		case'1y':tmp = tmp-2;break;
		case'2n':tmp = tmp+2;break;
		case'2y':tmp = tmp;break;
		default:break;
	}
	
	/*
	tmp = $('input[@name=savings][@checked]').val()=='n'?tmp:tmp-1;
	tmp = $('input[@name=journal][@checked]').val()=='y'?tmp-2:tmp;
	*/
	
	switch($('input[@name=g2][@checked]').val()){
		case'1n':tmp = tmp;break;
		case'1y':tmp = tmp-1;break;
		case'2y':tmp = tmp-2;break;
		default:break;
	}
	
	
	
	tmp = tmp+calc_course($('#course_m'));
	tmp = tmp+calc_course($('#course_s'));
	
	tmp = $('input[@name=sp_1][@checked]').val()=='y'?tmp+1:tmp;
	tmp = $('input[@name=sp_2][@checked]').val()=='y'?tmp+1:tmp;
	tmp = $('input[@name=sp_3][@checked]').val()=='y'?tmp+1:tmp;
	tmp = $('input[@name=sp_4][@checked]').val()=='y'?tmp-1:tmp;//+1
	tmp = $('input[@name=sp_5][@checked]').val()=='y'?tmp+2:tmp;
	//tmp = $('input[@name=sp_6][@checked]').val()=='y'?tmp-1:tmp;
	
	var per_due;
	switch($('input[@name=due][@checked]').val()){
		case 'n':per_due=1;break;
		case 'e':per_due=1.2;break;
		case 's':per_due=1.4;break;
		default:per_due=1;break;
	}
	
	
	UC = (0<$('#vol').val())?tmp:'--';
	
	$('#box_conf td:eq(2)').text('＠￥ '+UC+'　');
	T = UC*$('#vol').val()*per_due;
	//console.log(UC+'/'+per+'/'+)
	
	$('#tbl_res td:eq(0)').text('＠￥ '+UC);
	$('#tbl_res td:eq(1)').text($('#vol').val()+' 仕訳');
	$('#tbl_res td:eq(2)').text('￥ '+fmtcomma(Math.ceil(T)));
	
	
	var res_1_0 = '未選択';
	var res_1_1 = '未選択';
	switch($('input[@name=g1][@checked]').val()){
		case '1n':res_1_0 = '科目の記載なし';break;
		case '1y':res_1_0 = '科目の記載あり';break;
		case '2n':res_1_1 = '科目の記載なし';break;
		case '2y':res_1_1 = '科目の記載あり';break;
		default:res_1_0 = 'エラー';res_1_1 = 'エラー';;break;
	}
	$('#tbl_res_1 td:eq(0)').text(res_1_0);
	$('#tbl_res_1 td:eq(1)').text(res_1_1);
	
	var res_2_0 = '未選択';
	var res_2_1 = '未選択';
	switch($('input[@name=g2][@checked]').val()){
		case '1n':res_2_0 = '科目の記載なし';break;
		case '1y':res_2_0 = '科目の記載あり';break;
		case '2y':res_2_1 = '科目、摘要の記載あり';break;
		default:res_1_0 = 'エラー';res_1_1 = 'エラー';;break;
	}
	$('#tbl_res_2 td:eq(0)').text(res_2_0);
	$('#tbl_res_2 td:eq(1)').text(res_2_1);
	
	$('#tbl_res_3 td:eq(0)').text($('#course_m').val()+' 個');
	$('#tbl_res_3 td:eq(1)').text($('#course_s').val()+' 個');
	
	$('#tbl_res_4 tr').css('display','');

	
	//$('#costing input[@type=checkbox]')
	//
	//console.log($('#course_s').val());
	//console.log(UC+'/'+per+'/'+)
	
	
	
	var trcnt = 0;
	$('#tbl_res_4 tr:eq(0)').css('display','none');
	if(!$('input[@name=sp_1][@checked]').val()){$('#tbl_res_4 tr:eq(1)').css('display','none');trcnt++;}
	if(!$('input[@name=sp_2][@checked]').val()){$('#tbl_res_4 tr:eq(2)').css('display','none');trcnt++;}
	if(!$('input[@name=sp_3][@checked]').val()){$('#tbl_res_4 tr:eq(3)').css('display','none');trcnt++;}
	if(!$('input[@name=sp_4][@checked]').val()){$('#tbl_res_4 tr:eq(4)').css('display','none');trcnt++;}
	if(!$('input[@name=sp_5][@checked]').val()){$('#tbl_res_4 tr:eq(5)').css('display','none');trcnt++;}
	//if(!$('input[@name=sp_6][@checked]').val()){$('#tbl_res_4 tr:eq(6)').css('display','none');trcnt++;}
	if(trcnt==5){$('#tbl_res_4 tr:eq(0)').css('display','');}
	

	//console.log(U+'/'+tmp)

}

function calc_course(obj){
	var val = obj.val();
	var tmp = (Math.ceil(val/5)*5-10)/5*0.5;
	return tmp<0?0:tmp;
}




function judge_smalllot(num){
	var f = num<100?true:false;
	$('#sp_5').attr('checked',f);
}

function price_set(){
	$('#box_conf td:eq(0)').text('＠￥ '+M+'　');
	$('#box_conf td:eq(1)').text('￥ '+U+'　');
	$('#box_conf td:eq(2)').text('＠￥ '+UC+'　');
}


function apply_css(){
	//$('#costing input[@type=text]').css('text-align','right');
	$('#costing input[@type=text]').css({'text-align':'right','margin-left':'0.5em'});
	$('#vol').css({'background':color_ng});
	$('#costing input[@type=radio],#costing input[@type=checkbox]').next().css({'margin-left':'0.2em','margin-right':'1em'});

	//$('#vol').prev().css('color','blue')
	//$('#costing input[@type=text]').prev().css('margin','blue')
	//console.log()
	
	$('#box_conf tr:eq(0)').css('display','none');

	//
	
}
function set_default(){
	//$('#sheets_y').attr('checked',true);元はこれがデフォルト
	$('#sheets_n').attr('checked',true);//変更2008/08/11
	
	
	//$('#receipt_y').attr('checked',true);//不要に
	$('#savings_n').attr('checked',true);//不要に
	//$('#journal_y').attr('checked',true);//元はこれがデフォルト
	
	
	$('#due_n').attr('checked',true);
	
	$('#vol').val(0);
	$('#course_m').val(0);
	$('#course_s').val(0);
	
}

function check_num(val,lmt){
	return (val<1 || lmt<val)?false:true;
	//if(val<1 || lmt<val)
	//return val<1?false:true;
	//return val>lmt?false:true;
}

function set_html(){
	$('#res').css('display','none');
	$('#vol').after($('<span/>').attr('id','vol_warn').text('1以上の数値を入力して下さい'));
	
	$('#course_m').after($('<span/>').attr('id','course_m_warn').text('100以上は入力出来ません'));
	$('#course_s').after($('<span/>').attr('id','course_s_warn').text('100以上は入力出来ません'));
	
	$('#tbl_due tr:eq(0)').attr('id','trth');
	$('#tbl_due tr:eq(1)').attr('id','tr_n');
	$('#tbl_due tr:eq(2)').attr('id','tr_e');
	$('#tbl_due tr:eq(3)').attr('id','tr_s');
	
	$('tr','#tbl_due').each(function(){
		$(this).children().each(function(i,elm){
			$(elm).addClass('cell_'+i)
		});
	});
	
	$('#sp_5').attr('disabled','disabled');
}

function fmtcomma(x){
	var s = "" + x;
	var p = s.indexOf(".");
	if(p < 0){p = s.length;}
	
	var r = s.substring(p, s.length);
	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;
}

