﻿
var sub_php_pg = 'index_sub.php';
var img_path = 'http://www.bukken-kanri.com/images-th/';

var area_name = [
	'神戸市垂水区',
	'神戸市西区',
	'明石市',
	'加古川市',
	'加古郡',
	'高砂市',
	'姫路市',
	'揖保郡'
];

var loadListIndex = false;
var now_page = 1;
var page_line = 20;

var subarea_parm = function() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	var result = {name: Array(), param: Array()};
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0){
			var key = parms[i].substring(0,pos);
			if (key.indexOf('subarea') == 0){
				var enc_name = parms[i].substring(pos+1);
				var val = decodeURI(enc_name);
				var code = key.substr(7, 1);
				if (!result.param[code]) result.param[code] = Array();
				result.name[val] = true;
				result.param[code].push(enc_name);
			}
		}
	}
	return result;
}

var reSeekWin = function(){
	pageScroll('searchBox');
}

var search_sys = {
	datas: Array(),
	list_datas: Array(),
	sub_datas: {name: Array(), param: Array()},
	full_count: 0,
	init: function(){
		kind.init();
		search_sys.calcInit();
		route.mount();
		if (still_datas){
			if (still_datas.nm){
				elem('seekNumber').value = still_datas.nm;
				search_sys.loadList();
				still_datas = Array();
			} else {
				area.init();
				school.init();
				price.init();
				walk.init();
				search_sys.sub_datas = subarea_parm();
				
				if (still_datas.pg) now_page = still_datas.pg;
				if (still_datas.sk){
					elem('seekSort').value = elem('sort_kind').value = elem('sort_kind2').value = still_datas.sk;
				}
				
				if (still_datas.rt){
					elem('seekRoute').value = still_datas.rt;
					route.sel_act();
					still_datas.rt = false;
				} else {
					search_sys.loadCount();
					search_sys.loadList();
				}
			}
		}
		elem('sort_kind').onchange = form_submit.sort_change;
		elem('sort_kind2').onchange = form_submit.sort_change;
	},
	calcInit: function(){
		for(i=0; i<=6; i++){
			elem('seekArea'+i).onclick = area.clickAct;
			elem('seekSch'+i).onclick = school.clickAct;
		}
		elem('seekPriceBottom').onchange = search_sys.loadCount;
		elem('seekPriceTop').onchange = search_sys.loadCount;
		for(i=0; i<=5; i++){
			elem('seekWalk'+i).onclick = search_sys.loadCount;
		}
	},
	makeParam: function(){
		var temp_param = Array();
		if (elem('seekNumber').value){
			temp_param.push('nm='+elem('seekNumber').value);
		} else {
			for(i=0; i<=3; i++){
				if (elem('seekKind'+i).checked) temp_param.push('kd'+i+'=1');
			}
			for(i=0; i<=6; i++){
				if (elem('seekArea'+i).checked) temp_param.push('ar'+i+'=1');
				if (elem('seekSch'+i).checked) temp_param.push('sc'+i+'=1');
				if (search_sys.sub_datas.param){
					if (search_sys.sub_datas.param[i]) temp_param.push('sa'+i+'='+search_sys.sub_datas.param[i].join('-'));
				}
			}
			temp_param.push('pb='+elem('seekPriceBottom').value);
			temp_param.push('pt='+elem('seekPriceTop').value);
			if (elem('seekRoute').value){
				temp_param.push('rt='+elem('seekRoute').value);
				if (elem('seekStation').value){
					temp_param.push('st='+elem('seekStation').value);
				}
			}
			for(i=0; i<=5; i++){
				if (elem('seekWalk'+i).checked) temp_param.push('wk='+elem('seekWalk'+i).value);
			}
			temp_param.push('pg='+now_page);
			temp_param.push('sk='+elem('seekSort').value);
		}

		return temp_param.join('&');
	},
	loadCount: function(){
		 new Ajax.Request(sub_php_pg, { 
			method: 'post',
			parameters: 'md=loadDetailCount&'+search_sys.makeParam(),
			onSuccess: eval_response
		});
	},
	loadList: function(){
		 new Ajax.Request(sub_php_pg, { 
			method: 'post',
			parameters: 'md=loadDetailList&'+search_sys.makeParam(),
			onSuccess: eval_response
		});
	},
	list_mount: function(){
		var icon_mark = [
			'',
			'icon_land.gif',
			'icon_land.gif',
			'icon_house.gif',
			'icon_uhouse.gif',
			'icon_umansion.gif'
		];
		var out_html = '';
		out_html += '<table summary="検索結果一覧2" id="resultTable2">';
		out_html += '<tbody>';
		for(i=0; i<search_sys.list_datas.length; i++){
			var part_data = search_sys.list_datas[i];
			var photo_file = (part_data.photo) ? img_path+part_data.photo: '/search/img/noimage.gif';
			out_html += '<tr>';
			out_html += '<td class="photoCell"><a href="./detail.php?cd='+part_data.code+'"><img width="48" alt="" src="'+photo_file+'"></a></td>';
			out_html += '<td class="addressCell"><span><img alt="土地" src="./img/'+icon_mark[part_data.category]+'">';
			if (part_data.newobject) out_html += '<img src="/search/img/icon_new.gif" alt="新着物件" />';
			if (part_data.buyer == 3) out_html += '<img src="/search/img/icon_free.gif" alt="仲介手数料不要物件" />';
			out_html += part_data.kind+'<br />'+part_data.address+'</span></td>';
			out_html += '<td class="trainCell"><span>'+part_data.access+'</span></td>';
			out_html += '<td class="priceCell">'+myFormatNumber(part_data.price)+'万円</td>';
			out_html += '<td class="areaCell">';
			out_html += (part_data.area_1st) ? part_data.area_1st+'m<sup>2</sup>': '';
			out_html += (part_data.area_2nd) ? '<br />'+part_data.area_2nd: '';
			out_html += '</td>';
			out_html += '<td class="timeCell"><a href="./detail.php?cd='+part_data.code+'"><img width="96" height="18" alt="詳細" src="./img/detail_land_alpha.gif"></a><br /><span id="fvl'+part_data.code+'"><a class="listNone" href="javascript: favorite_sys.entry(\''+part_data.code+'\');"><img width="96" height="18" alt="リストに追加" src="./img/list_add_alpha.gif"></a></span></td>';
			out_html += '</tr>';
		}
		out_html += '</tbody>';
		out_html += '</table>';
		elem('tableContents').innerHTML = out_html;
		elem('resultBox').style.display = 'block';
		elem('resultPanel').style.display = 'block';
		
		elem('result_count').innerHTML = search_sys.full_count;
		search_sys.mount_index({
			start_line: ((now_page - 1) * page_line),
			page_line: page_line,
			full_count: search_sys.full_count,
			page: now_page,
			max_page: (Math.floor((search_sys.full_count - 1) / page_line) + 1)
		});
		
		if (favorite_sys.fid) favorite_sys.dataLoad();
		pageScroll('resultBox');
	},
	mount_index: function(index_datas){
		index_datas.start_line *= 1;
		index_datas.page_line *= 1;
		var max_line = (index_datas.start_line + index_datas.page_line);
		if (max_line > index_datas.full_count) max_line = index_datas.full_count;
		var index_count = (index_datas.full_count > 0) ? '<p>'+index_datas.full_count+'件中 '+(index_datas.start_line + 1)+'～'+max_line+'件目を表示</p>': '';
		elem('result_count').innerHTML = index_datas.full_count + '件';
		index_count = '<p class="backToSearch"><a href="./favorite.html"><img src="./img/go_favorite_alpha.gif" alt="お気に入りを見る" /></a> <a href="javascript:;" onclick="reSeekWin();"><img src="./img/back_to_search_alpha.gif" alt="検索条件変更" /></a></p>';
		
		index_datas.page *= 1;
		index_datas.max_page *= 1;
		var temp_html = '<ul>';
		if (index_datas.page > 1) temp_html += '<li><a href="javascript: form_submit.move('+(index_datas.page - 1)+');">前頁&lt;&lt;</a></li>';
		for(i=1; i<=index_datas.max_page; i++){
			temp_html += (i == index_datas.page) ? '<li>'+i+'</li>': '<li><a href="javascript: form_submit.move('+i+');">'+i+'</a></li>';
		}
//		temp_html += '<li><span class="jp">…</span></li>';
		if (index_datas.page < index_datas.max_page) temp_html += '<li><a href="javascript: form_submit.move('+(index_datas.page + 1)+');">&gt;&gt;次頁</a></li>';
		temp_html += '</ul>';
		elem('page_number').innerHTML = elem('page_number2').innerHTML = index_count + temp_html;
		Kaas.imageRollover.init();
	}
}

var school = {
	init: function(){
		for(i=0; i<area_name.length; i++){
			if (still_datas['sc'+i]) elem('seekSch'+i).checked = 'checked';
		}
	},
	mountDetail: function(){
		var temp_disp = Array();
		for(i=0; i<search_sys.datas.length; i++){
			var part_data = search_sys.datas[i].datas;
			var area_num = search_sys.datas[i].num;
			var part_html = '';
			if (part_data){
				part_html += '<ul class="detail">';
				for(j=0; j<part_data.length; j++){
					var val_name = 'subarea'+area_num+'_'+j;
					part_html += '<li>';
					var checked_val = (search_sys.sub_datas.name[part_data[j].name]) ? 'checked="checked"': '';
					part_html += '<input type="checkbox" name="'+val_name+'" id="input_'+val_name+'" value="'+part_data[j].name+'" '+checked_val+' />';
					part_html += '<label for="input_'+val_name+'">'+part_data[j].name+'('+part_data[j].count+')'+'</label>';
					part_html += '</li>';
				}
				part_html += '</ul>';
			} else part_html = '<span>対象物件なし</span>';
			temp_disp[area_num] = true;
			elem('areaSchDetail'+area_num).style.display = 'block';
			elem('areaSchDetail'+area_num).innerHTML = part_html;
		}
		for(i=0; i<area_name.length; i++){
			if (!temp_disp[i]) elem('areaSchDetail'+i).style.display = 'none';
		}
	},
	mountClear: function(){
		for(i=0; i<area_name.length; i++){
			elem('areaSchDetail'+i).style.display = 'none';
		}
	},
	clickAct: function(){
		for(i=0; i<=6; i++){
			elem('seekArea'+i).checked = false;
			elem('areaDetail'+i).style.display = 'none';
			elem('areaDetail'+i).innerHTML = '';
			if (!elem('seekSch'+i).checked){
				elem('areaSchDetail'+i).style.display = 'none';
				elem('areaSchDetail'+i).innerHTML = '';
			}
		}
		search_sys.loadCount();
	}
}

var area = {
	init: function(){
		for(i=0; i<area_name.length; i++){
			if (still_datas['ar'+i]) elem('seekArea'+i).checked = 'checked';
		}
	},
	mountDetail: function(){
		var temp_disp = Array();
		for(i=0; i<search_sys.datas.length; i++){
			var part_data = search_sys.datas[i].datas;
			var area_num = search_sys.datas[i].num;
			var part_html = '';
			if (part_data){
				part_html += '<ul class="detail">';
				for(j=0; j<part_data.length; j++){
					var val_name = 'subarea'+area_num+'_'+j;
					part_html += '<li>';
					var checked_val = (search_sys.sub_datas.name[part_data[j].name]) ? 'checked="checked"': '';
					part_html += '<input type="checkbox" name="'+val_name+'" id="input_'+val_name+'" value="'+part_data[j].name+'" '+checked_val+' />';
					part_html += '<label for="input_'+val_name+'">'+part_data[j].name+'('+part_data[j].count+')'+'</label>';
					part_html += '</li>';
				}
				part_html += '</ul>';
			} else part_html = '<span>対象物件なし</span>';
			temp_disp[area_num] = true;
			elem('areaDetail'+area_num).style.display = 'block';
			elem('areaDetail'+area_num).innerHTML = part_html;
		}
		for(i=0; i<area_name.length; i++){
			if (!temp_disp[i]) elem('areaDetail'+i).style.display = 'none';
		}
	},
	mountClear: function(){
		for(i=0; i<area_name.length; i++){
			elem('areaDetail'+i).style.display = 'none';
		}
	},
	clickAct: function(){
		for(i=0; i<=6; i++){
			elem('seekSch'+i).checked = false;
			elem('areaSchDetail'+i).style.display = 'none';
			elem('areaSchDetail'+i).innerHTML = '';
			if (!elem('seekArea'+i).checked){
				elem('areaDetail'+i).style.display = 'none';
				elem('areaDetail'+i).innerHTML = '';
			}
		}
		search_sys.loadCount();
	}
}

var kind = {
	init: function(){
		elem('seekKind0').onclick = kind.clear_mantion;
		elem('seekKind1').onclick = kind.clear_mantion;
		elem('seekKind2').onclick = kind.clear_mantion;
		elem('seekKind3').onclick = kind.clear_estate;
		
		if (still_datas){
			for(i=0; i<4; i++){
				elem('seekKind'+i).checked = (still_datas['kd'+i]) ? 'checked': false;
			}
		}
	},
	clear_estate: function(){
		if (this.checked) elem('seekKind0').checked = elem('seekKind1').checked = elem('seekKind2').checked = false;
		search_sys.loadCount();
	},
	clear_mantion: function(){
		if (this.checked) elem('seekKind3').checked = false;
		search_sys.loadCount();
	}
}

var route = {
	datas: Array(),
	mount: function(){
		route.datas = temp_datas;
		var out_html = '';
		if (route.datas.length > 0){
			out_html += '<select name="rt" id="seekRoute">';
			out_html += '<option value="">▽選択して下さい▽</option>';
			for(i=0; i<route.datas.length; i++){
				var temp = route.datas[i];
				out_html += '<option value="'+temp.sid+'">'+temp.title+'</option>';
			}
			out_html += '</select>';
		} else 	out_html += '読み込みに失敗しました。';
		elem('seekRouteBox').innerHTML = out_html;
		elem('seekRoute').onchange = route.sel_act;
		elem('seekStationBox').innerHTML = '';
	},
	sel_act: function(){
		if (elem('seekRoute').value){
			 new Ajax.Request(sub_php_pg, { 
				method: 'post',
				parameters: 'md=load_station_datas&route='+elem('seekRoute').value,
				onSuccess: eval_response
			});
		} else {
			elem('seekStationBox').innerHTML = '';
			search_sys.loadCount();
		}
	}
}

var station = {
	datas: Array(),
	mount: function(){
		var out_html = '';
		if (station.datas.length > 0){
			out_html += '<select name="st" id="seekStation">';
			out_html += '<option value="">▽選択して下さい▽</option>';
			for(i=0; i<station.datas.length; i++){
				var temp = station.datas[i];
				out_html += '<option value="'+temp.sid+'">'+temp.title+'</option>';
			}
			out_html += '</select>';
		} else 	out_html += '読み込みに失敗しました。';
		elem('seekStationBox').innerHTML = out_html;

		if (still_datas){
			if (still_datas.st){
				elem('seekStation').value = still_datas.st;
				still_datas.st = false;
				search_sys.loadList();
			}
		}
		elem('seekStation').onchange = search_sys.loadCount;
		search_sys.loadCount();
	}
}

var price = {
	init: function(){
		if (still_datas.pb) elem('seekPriceBottom').value = still_datas.pb;
		if (still_datas.pt) elem('seekPriceTop').value = still_datas.pt; 
	}
}

var walk = {
	init: function(){
		if (still_datas.wk) elem('seekWalk'+still_datas.wk).checked = 'checked';
		else elem('seekWalk0').checked = 'checked';
	}
}

var form_submit = {
	normal: function(){
		elem('seekPage').value = 1;
		elem('seekForm').submit();
	},
	move: function(targ_page){
		elem('seekPage').value = targ_page;
		elem('seekForm').submit();
	},
	sort_change: function(){
		elem('seekSort').value = this.value;
		elem('seekForm').submit();
	}
}

var qs_parm = function() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	var result = Array();
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0){
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			result[key] = val;
		}
	}
	return result;
}

var eval_response = function(response){
	var text = response.responseText;
	if (navigator.appVersion.indexOf('KHTML') > -1){
		var esc = escape(text);
		if ((esc.indexOf("%u") < 0)&&(esc.indexOf("%") > -1)) text = decodeURIComponent(esc);
	}
	var res = eval(text);
}

var allReplace = function(text, sText, rText){
	while (true){
		dummy = text;
		text = dummy.replace(sText, rText);
		if (text == dummy) break;
	}
	return text;
}

var myFormatNumber = function(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;
}

var still_datas = qs_parm();

Kaas.addEvent(window, 'load', search_sys.init);