$(function(){
	// エリアモードと沿線モードを切り替え
	if(location.hash=='#searchstation'){
		// 沿線
		change_area_station('station');
	}else{
		// エリア
		change_area_station('area');
	}

	// タブ切り替え
	$('#tab_search li a').click(function(){
		if($(this).parent().attr('id')=='search_by_area_button'){
			change_area_station('area');
		}else{
			change_area_station('station');
		}
	});

	// 条件を絞り込むチェックボックス
	/**
	 * 8-11はロジック変更
	 */
	$('#search_condition a').click(function(){
		var s= $(this).children('img').attr('src');
		var index= $('#search_condition a').index(this);
		var target = "";
		var ch = "";
		if(s.match(/_on\.png/)=='_on.png'){ // on→off
			if(index>=8 && index<=11){
				flg=false;
				for(i=11; i>=8; i--){
					ck = $($('#base_checkboxes input')[i]);

					if(!flg){
						if(ck.attr('checked')==true){
							target = $($('#search_condition a')[i]).children('img');
							target.attr('src',target.attr('src').replace(/_on\.png$/,'.png'));
							$($('#base_checkboxes input')[i]).attr('checked','');
							ck.attr('checked','');
							if(i==index){
								flg=true;
							}
						}
					}
				}
			}else{
				$(this).children('img').attr('src',s.replace(/_on\.png$/,'.png'));
				$($('#base_checkboxes input')[index]).attr('checked','');
			}
		}else{ // off→on
			if(index>=8 && index<=11){
				for(i=index; i>=8; i--){

					ck = $($('#base_checkboxes input')[i]);

					if(ck.attr('checked')!=true){
						target = $($('#search_condition a')[i]).children('img');
						target.attr('src',target.attr('src').replace(/\.png$/,'_on.png'));
						ck.attr('checked','checked');
					}
				}
			}else{
				$(this).children('img').attr('src',s.replace(/\.png$/,'_on.png'));
				$($('#base_checkboxes input')[index]).attr('checked','checked');
			}
		}
	});

	// エリアクリック時
	$('#area_search a').click(function(){
		add_area_search($(this));
		remove_area_search();
	});
	// 路線クリック時
	$('#line_search a').click(function(){
		add_line_search($(this));
		// 路線削除時の設定
		remove_line_search();
	});

	// 検索実行時
	$('.exec_search_button').click(function(){
		// チェックボックスがない部分の対応
		set_other_checkboxes();
		$('#form_search').submit();
	});


	// ロード時の条件チェックボックス設定
	set_checkboxes();
	// 検索結果表示欄の自動スクロール
	setInterval("move_result_search()",100);
	// 初回はajaxリロードさせるためにserialize内容をクリア
	$('#serialized_value').val('');
	ajax_search_exec();
	setInterval("ajax_search_exec()",5000);
});


function change_area_station(tgt){
	if(tgt=='area'){
		$('#search_by_area_button a img').attr('src','/images/search/tab_area_search.png');
		$('#search_by_station_button a img').attr('src','/images/search/tab_rosen_search_off.png');
		$('#line_search').parent().addClass('hidden');
		$('#area_search').parent().removeClass('hidden');
	}else if(tgt=='station'){
		$('#search_by_area_button a img').attr('src','/images/search/tab_area_search_off.png');
		$('#search_by_station_button a img').attr('src','/images/search/tab_rosen_search.png');
		$('#area_search').parent().addClass('hidden');
		$('#line_search').parent().removeClass('hidden');
	}
}

function set_checkboxes(){
	$('#base_checkboxes input:checkbox:checked').each(function(){
		var index=$('#base_checkboxes input').index(this);
		var tgt=$($('#search_condition a img')[index]);
		tgt.attr('src',tgt.attr('src').replace(/\.png$/,'_on.png'));
	});
	$('#base_area_checkboxes  input:checkbox:checked').each(function(){
		var id=$(this).val();
		var tgt=$('#area_search a[cities="'+id+'"]');
		add_area_search(tgt);
/*
		var name=tgt.children('span').html();
		var class_str=tgt.parent().attr('class');
		var pref='';
		if(class_str.match(/areagroup_saitamaken/)!=null){
			pref='saitamaken';
		}else if(class_str.match(/areagroup_chibaken/)!=null){
			pref='chibaken';
		}else if(class_str.match(/areagroup_tokyoto/)!=null){
			pref='tokyoto';
		}
		$('#area_search_box').append('<p id="cities'+id+'" class="selected_pref_'+pref+'">'+name+'()&nbsp;<a cities="'+id+'">削除</a></p>');
		$('a[cities="'+id+'"]').parent().addClass('area_parts_on');
*/
	});
	$('#base_line_checkboxes  input:checkbox:checked').each(function(){
		var id=$(this).val();
		var tgt=$('#line_search a[rails="'+id+'"]');
		add_line_search(tgt);
/*
		var name=tgt.children('span').html();
		var class_str=tgt.parent().attr('class');
		$('#rosen_search_box').append('<p id="rails'+id+'"><b>'+name+'</b>&nbsp;<a rails="'+id+'">削除</a><br /><span id="sts'+id+'"></span></p>');
		// ajaxで路線の駅名を取得
		$('#sts'+id).load('js/stations_v.php?rail_id='+id.replace(/_/,','));
*/
	});
	// エリアの削除ボタン（読み込み時）
	remove_area_search();
	// 路線の削除ボタン（読み込み時）
	remove_line_search();
}

function add_area_search(tgt){
	var id=tgt.attr('cities');
	if(id.match(/(saitamaken|chibaken|tokyoto|saitamashi)/)!=null){
		$('.areagroup_'+id).each(function(){
			add_area_search($(this).children('a'));
		});
		return true;
	}

	var name=tgt.children('span').html();
	var class_str=tgt.parent().attr('class');
	var pref='';
	if(class_str.match(/areagroup_saitamaken/)!=null){
		pref='saitamaken';
	}else if(class_str.match(/areagroup_chibaken/)!=null){
		pref='chibaken';
	}else if(class_str.match(/areagroup_tokyoto/)!=null){
		pref='tokyoto';
	}

	$('#cities'+id).remove();
	$('#area_search_box').append('<p id="cities'+id+'" class="selected_pref_'+pref+'">'+name+'<br />(<span id="cities_search_count'+id+'"></span>)&nbsp;<a cities="'+id+'">削除</a></p>');
	$('#hidden_cities'+id).attr('checked','checked');
	$('a[cities="'+id+'"]').parent().addClass('area_parts_on');
	$('#cities_search_count'+id).html('<img src="/images/search/ajax-loader.gif" />');
	$('#cities_search_count'+id).load('result_ajax.html?countonly=1&cities['+id+']='+id);
}

function remove_area_search(){
	// エリア削除時の設定
	$('#area_search_box p a').click(function(){
		var c=$(this).attr('cities');
		$('#hidden_cities'+c).attr('checked','');
		$('a[cities="'+c+'"]').parent().removeClass('area_parts_on');
		$(this).parent().remove();
	});
}

function add_line_search(tgt){
	var id=tgt.attr('rails');
	var hid='';
	var sts='';
	var name=tgt.children('span').html();
	$('#hidden_rails'+id).attr('checked','checked');

	var p='<p id="rails'+id+'"><b>'+name+'</b>&nbsp;<a rails="'+id+'">削除</a><br /><span id="sts'+id+'"></span></p>';

	$('#rails'+id).remove();
	$('#rosen_search_box').append(p);
	tgt.parent().addClass('line_search_on');
	// ajaxで路線の駅名を取得
	$('#sts'+id).load('js/stations_v.php?rail_id='+id.replace(/_/,','),function(){
		$('#sts'+id+' .station_search_count').each(function(){
			// 各駅の件数を取得
			var station=$(this).attr('station');
			$(this).html('<img src="/images/search/ajax-loader.gif" />');
			$(this).load('result_ajax.html?countonly=1&rail['+id+']='+id+'&stations['+station+']='+station);
		});
	});
}

function remove_line_search(){
	//路線削除時のイベント設定
	$('#rosen_search_box p a').click(function(){
		var c=$(this).attr('rails');
		$('#hidden_rails'+c).attr('checked','');
		$('a[rails="'+c+'"]').parent().removeClass('line_search_on');
		$(this).parent().remove();
	});
}

function set_other_checkboxes(){
	// チェックボックスがない部分の設定（価格帯，都道府県）
	// 価格帯の設定
	var pa = new String('');
	$('#search_kakaku_buttons li a img').each(function(){
		pa +=
			$(this).attr('src').match(/_on\.png/)=='_on.png' ? 1 : 0 ;
	});
	switch(pa){
	case '0101':
	case '0111':
		$('#select_min_price').val('2000');
		$('#select_max_price').val('0');
		break;
	case '1010':
	case '1110':
		$('#select_min_price').val('0');
		$('#select_max_price').val('4000');
		break;
	case '0001':
		$('#select_min_price').val('4000');
		$('#select_max_price').val('0');
		break;
	case '0010':
		$('#select_min_price').val('3000');
		$('#select_max_price').val('4000');
		break;
	case '0100':
		$('#select_min_price').val('2000');
		$('#select_max_price').val('3000');
		break;
	case '1000':
		$('#select_min_price').val('0');
		$('#select_max_price').val('2000');
		break;
	case '0011':
		$('#select_min_price').val('3000');
		$('#select_max_price').val('0');
		break;
	case '0110':
		$('#select_min_price').val('2000');
		$('#select_max_price').val('4000');
		break;
	case '1100':
		$('#select_min_price').val('0');
		$('#select_max_price').val('3000');
		break;
	case '0000':
	case '1001':
	case '1011':
	case '1101':
	case '1111':
	default:
		$('#select_min_price').val('0');
		$('#select_max_price').val('0');
	}

	// 都道府県の設定
	$('.selected_pref_checkbox').remove();
	if($('.selected_pref_saitamaken').length>0){
		$('#area_search_box').append('<input type="hidden" name="prefs[11]" value="11" class="selected_pref_checkbox" />');
	}
	if($('.selected_pref_chibaken').length>0){
		$('#area_search_box').append('<input type="hidden" name="prefs[12]" value="12" class="selected_pref_checkbox" />');
	}
	if($('.selected_pref_tokyoto').length>0){
		$('#area_search_box').append('<input type="hidden" name="prefs[13]" value="13" class="selected_pref_checkbox" />');
	}
}


function move_result_search(){
	var ofs=window.scrollY;
	if(ofs==undefined){
		var ofs=document.documentElement.scrollTop;
	}
	if(ofs>1500){
		return false;
	}else if(ofs>100){
		$('#right_area_1').css('margin-top',(ofs-95)+'px');
	}else{
		$('#right_area_1').css('margin-top','5px');
	}
}

function ajax_search_exec(){
	set_other_checkboxes();
	var new_val=$('#form_search').serialize();
	var old_val=$('#serialized_value').val();
	if(new_val.length<40){ // 条件がないときは検索しない
		$('#right_area_1').html('<div id="result_search"><!-- ここから検索結果 --><p>該当件数</p><p class="font11"><span id="result_total_num">---</span> 件</p></div><!-- ここまで検索結果 -->');
		return false;
	}
	if(new_val != old_val){
		$('#result_total_num').html('<img src="/images/search/ajax-loader.gif" />');
		$('#serialized_value').val(new_val);
		$('#right_area_1').load('result_ajax.html?'+new_val);
		return true;
	}else{
		return false;
	}
}


