$(function(){
	//load inner list
	var _obj = $('#right');
	
	var first_flag_param = new Object();
	
	$('.first_flag').each(function(){
		var nm = $(this).attr('name');
		var val = $(this).attr('value');
		first_flag_param[nm] = val;
	});
		
	loadInnerList(_obj, first_flag_param);
	
	//leftbar toggles
	$("a.closeLeft").toggle(
		function(){
			$("#main_2col #left").css("display","none");
			$("#main_2col #right").css("width","871px");
			$(".list").css("width","271px");
			$(this).find('img').attr('src','img/button/bt_silde_toggle_on.jpg');
		},
		function(){
			$("#main_2col #left").css("display","block");
			$("#main_2col #right").css("width","640px");
			$(".list").css("width","300px");
			$(this).find('img').attr('src','img/button/bt_silde_toggle.jpg');
		}
	);
	$(".addBt a").toggle(
		function(){
			$(".add_kodawari").css("display","block");
		},
		function(){
			$(".add_kodawari").css("display","none");
		}
	);
	
	$('.search_list :input').change(function(){
		//scrollToTop();
		checkAllInputs(_obj);
	})
	
	$('.allclear').css('cursor','pointer');
	$('.allclear').click(function(){
		$('.search_list input:checkbox').attr('checked',false);
		checkAllInputs(_obj);
	});
	
});

function checkAllInputs(_obj){
	
	var resultObj = new Object();
	
	$('.search_list input:checked').each(function(){
		resultObj[$(this).attr('name')] = $(this).val();
	});
	
	$('.search_list input:selected').each(function(){
		resultObj[$(this).attr('name')] = $(this).val();
	});
	
	$('.search_list select').each(function(){
		resultObj[$(this).attr('name')] = $(this).val();
	});
	
	//console.log(resultObj);
	
	//チェックされているinputのkeyとvalueがresultに入る。 
	//innerListにパラメータを渡して書き換え 
	moveInnerPage(_obj, resultObj);
}

function loadInnerList(_obj, paramObject){
	
	var hash = '?';
	
	if(paramObject){
		for(key in paramObject){
			hash = hash + key + "=" + paramObject[key] + '&';
		}
	}
	//最後の文字が'&'なら取り除く
	if(hash.slice(-1) == '&'){
		hash = hash.slice(0,-1);
	}
	
	var url = "search_inner_list.php" + hash;
	
	_obj.load(url,null,function(){ //_onReady inner page 
		
		var for_left_param = new Object();
		
		//rewrite leftbar numbers, inputs
		$('.for_left').each(function(){
			var nm = $(this).attr('name');
			var val = $(this).attr('value');
			for_left_param[nm] = val;
		});
		
		//console.log(for_left_param);
		
		rewriteLeftBarNums(for_left_param);
		
		//innsya reset
		$('#rownum').change(function(){
			movePagenation(_obj,{'innsya':$(this).val()});
		});
		
	    $('ul.pageNavi a').click(function(){
			//scroll to top
			scrollToTop();
			//reload
			movePagenation(_obj,{'page':$(this).attr('class')});
			return false; //kill 'A' tag function
		})
		
   });
}

function rewriteLeftBarNums(paramObj){
	if(paramObj){
		for(key in paramObj){
			$('span.'+key).text(paramObj[key]);
		}
	}
}

function moveInnerPage(_obj, addParams){
	//主に左サイドバーからのリスト更新に使う。 
	//first_flagを据え置きで、追加パラメータは 
	//選択されてるcheckboxなどinputによって毎回変化。 
	//【ただし】innsyaパラメータが存在する（デフォルトの25以外の）場合は、 
	//innsyaだけは持ってくる（でないと25件表示に強制的に戻ってしまう） 
	
	var second_flag_param = new Object();
	
	$('.first_flag').each(function(){
		var nm = $(this).attr('name');
		var val = $(this).attr('value');
		second_flag_param[nm] = val;
	});
	
	if(addParams){
		for(key in addParams){
			second_flag_param[key] = addParams[key];
		}
	}
	
	//innsyaもってくる
	var t_innsya = $(':input[name="innsya"]');
	if(t_innsya.val()) second_flag_param['innsya'] = t_innsya.val();
	
	//console.log(second_flag_param);
	//page load
	loadInnerList(_obj,second_flag_param);
}

function movePagenation(_obj, addParams){
	//動きはmoveInnerPageに酷似。 
	//主にinnerPage内、表示件数変更/ページ移動時に使用。 
	//addParameterはpageまたはinnsyaのどちらかしかなく、 
	//継続保持するためのパラメータはsecond_flagクラスのhidden inputから持ってくる。 
	
	var second_flag_param = new Object();
	
	$('.second_flag').each(function(){
		var nm = $(this).attr('name');
		var val = $(this).attr('value');
		second_flag_param[nm] = val;
	});
	
	if(addParams){
		for(key in addParams){
			second_flag_param[key] = addParams[key];
		}
	}
	loadInnerList(_obj,second_flag_param);
}

function scrollToTop(){
	var top = $('#header').offset().top;
	$(jQuery.browser.safari ? 'body' : 'html').animate({scrollTop:top}, 400, 'swing');
}
