
var seekAreaName = function(area_num){
	var work_data = Array();
	for(i=0; i<asia_area_datas.length; i++){
		for(j=0; j<asia_area_datas[i].mid_area.length; j++){
			if (asia_area_datas[i].mid_area[j].cd == area_num){
				work_data = {
					class_name: asia_area_datas[i].class_name,
					title: asia_area_datas[i].title,
					name: asia_area_datas[i].mid_area[j].name
				};
				break;
			}
		}
	}
	return work_data;
}

var listInit = function(){
	var qsParm = loadParam();
	if (qsParm.cd){
		areaListIndex(qsParm.cd);
		elem('footButtonArea').innerHTML = makeHeadButton();
	} else {
		checkListIndex();
		elem('footButtonArea').style.display = 'none';
	}
}

var full_path = '../';
var focus_country = 0;

var areaListIndex = function(areaNum){
	focus_country = areaNum;
	var send_pg = full_path + 'list_index2.php';
	var send_param = {
		method: 'post',
		parameters: 'md=areaList&cd='+areaNum,
		onComplete: makeAreaIndex
	};
	if (focus_country){
		new Ajax.Request(send_pg, send_param);
	}
}

var checkListIndex = function(){
	var send_datas = Array();
	var count = 0;
	for(i=0; i<asia_area_datas.length; i++){
		var mid_area_data = asia_area_datas[i].mid_area;
		for(j=0; j<mid_area_data.length; j++){
			var area_detail = mid_area_data[j];
			send_datas.push('data'+count+'='+area_detail.cd+'-'+area_detail.cd_list.join('|'));
			count++;
		}
	}
	var send_pg = full_path + 'list_index2.php';
	var send_param = {
		method: 'post',
		parameters: 'md=checkList&'+send_datas.join('&'),
		onComplete: makeListIndex
	};
	new Ajax.Request(send_pg, send_param);
}

var plusRand = function(){
	return '&rand='+Math.floor(Math.random() * 1000000);
}

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 loadParam = function(){
	var query = window.location.search.substring(1);
	var temp = Array();
	var parms = query.split('&');
	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);
			temp[key] = val;
		}
	}
	return temp;
}

var makeAreaIndex = function(str){
	var result = str.responseText;
	var resultData = eval("(" + result + ")");
	var out_html = '';

	var details = seekAreaName(focus_country);

	out_html += '<h3 class="'+details.class_name+'">'+details.title+' <span>'+details.name+'</span></h3>';
	out_html += '<table summary="目的地,発地,内容,価格">';
	out_html += '<tr><th scope="col">目的地</th><th scope="col">発地</th><th scope="col">内容</th><th scope="col">価格</th></tr>';
	for(i=0; i<resultData.length; i++) out_html += listHtml(resultData[i]);
	out_html += '</table>';
	out_html += '<p class="pageTop"><a href="#wrapper"><img src="../img/arw_pagetop.gif" alt="" />このページの上まで戻る</a></p>';

	elem('listIndexArea').innerHTML = out_html;
}

var makeListIndex = function(str){
	var result = str.responseText;
	var resultData = eval("(" + result + ")");
	var out_html = '';
	for(i=0; i<asia_area_datas.length; i++){
		var big_area_data = asia_area_datas[i];
		var mid_area_data = big_area_data.mid_area;


		for(j=0; j<mid_area_data.length; j++){
			var id_name = 'b'+i+'m'+j;
			var area_detail = mid_area_data[j];
			out_html += '<h3 id="'+id_name+'" class="'+big_area_data.class_name+'">'+big_area_data.title+' <span>'+area_detail.name+'</span>';
			out_html += '</h3>';
			out_html += '<table summary="目的地,発地,内容,価格">';
			out_html += '<tr><th scope="col">目的地</th><th scope="col">発地</th><th scope="col">内容</th><th scope="col">価格</th></tr>';
			
			var sort_list = Array();
			for(k=0; k<resultData[area_detail.cd].length; k++) sort_list[resultData[area_detail.cd][k].sid] = k;
			for(num = 0; num<area_detail.cd_list.length; num++){
				if ((sort_list[area_detail.cd_list[num]])||(sort_list[area_detail.cd_list[num]] == 0)){
					out_html += listHtml(resultData[area_detail.cd][sort_list[area_detail.cd_list[num]]]);
				}
			}
			
			out_html += '</table>';
			out_html += '<p class="pageTop"><a href="#wrapper"><img src="../img/arw_pagetop.gif" alt="" />このページの上まで戻る</a></p>';
		}
	}
	elem('listIndexArea').innerHTML = out_html;
	
	var now_url = window.location.hash.substr(1);
	if (now_url){
		var pos = Position.positionedOffset($(now_url));
		window.scrollTo(0, pos[1]);
	}
}

var allReplace = function(text, sText, rText){
	while (true){
		dummy = text;
		text = dummy.replace(sText, rText);
		if (text == dummy) break;
	}
	return text;
}

var listHtml = function(temp_data){
	var temp_html = '<tr>';
	temp_html += '<td class="arrive">'+temp_data.arrive_datas+'</td>';
	temp_html += '<td class="departure">'+allReplace(temp_data.departure, '・', '<br />')+'</a></td>';
	temp_html += '<td class="title"><a href="'+full_path+'domestic/detail.php?sid='+temp_data.sid+'">'+temp_data.main_ttl+'</a></td>';
	temp_html += '<td class="price">&yen;'+myFormatNumber(temp_data.price_min)+'～&yen;'+myFormatNumber(temp_data.price_max)+'</td>';
	temp_html += '</tr>';
	return temp_html;
}

var makeHeadButton = function(){
	var out_html = '';
	for(i=0; i<asia_area_datas.length; i++){
		if (i == 0) out_html += '<dl id="categoryLinkAdj0" class="categoryLink clearfix">';
		else out_html += '<dl class="categoryLink clearfix">';
		
		var big_area_data = asia_area_datas[i];
		out_html += '<dt><img src="'+big_area_data.mark+'" alt="'+big_area_data.title+'" /></dt>';
		
		var mid_area_data = big_area_data.mid_area;
		
		if (mid_area_data.length){
			out_html += '<dd>';
			out_html += '<ul>';
		}
		for(j=0; j<mid_area_data.length; j++){
			var id_name = 'b'+i+'m'+j;
			var area_detail = mid_area_data[j];
			out_html += '<li><a href="'+this_dir_path+'#'+id_name+'">'+area_detail.name+'</a></li>';
		}
		if (mid_area_data.length){
			out_html += '</ul>';
			out_html += '</dd>';
		}
		
		out_html += '</dl>';
		
	}
	return out_html;
}

addEvent(window, 'load', listInit);

