// css ID処理
function $(tagId){
	return document.getElementById(tagId);
}

// 検索実行
function do_search (){
	// 画面表示切替
	document.getElementById('result_hotel').innerHTML = '<div style="text-align:center;"><img src="/img/loading.gif" /><br />ただいま空室状況を検索しております...</div>';
	// フォーム内容
	var hotelNo = $('hotelno').value;
	var inY = $('checkinY').value;
	var inM = $('checkinM').value;
	var inD = $('checkinD').value;
	var outY = $('checkoutY').value;
	var outM = $('checkoutM').value;
	var outD = $('checkoutD').value;
	var adult = $('adult').value;
	var room = $('room').value;
	// URL
	var url = 'http://api.rakuten.co.jp/rws/1.11/json?';
	url += 'developerId=2619e2f31734d76d2126a9b0bbd58ec9';
	url += '&affiliateId=0408409c.efb93942.0408409d.ad3f9920';
	url += '&operation=VacantHotelSearch';
	url += '&version=2008-02-14';
	url += '&hits=5';
	url += '&callBack=rakutenHotel';
	url += '&hotelNo=' + hotelNo;
	url += '&checkinDate=' + inY + '-' + inM + '-' + inD;
	url += '&checkoutDate=' + outY + '-' + outM + '-' + outD;
	url += '&adultNum=' + adult;
	url += '&roomNum=' + room;
	// リクエスト実施
	var script     = document.createElement( 'script' );
	script.type    = 'text/javascript';
	script.charset = 'utf-8';
	script.src     = url;
	document.getElementsByTagName("head")[0].appendChild( script );
}

function rakutenHotel (json){
	// エラーハンドリング
	switch(json.Header.Status){
		case 'NotFound':
			display('該当情報は見つかりませんでした。');
			break;
		case 'ServerError':
			display('サーバエラーが発生しました。');
			break;
		case 'ClientError':
			display('検索条件に間違えがあります。');
			break;
		case 'Maintenance':
			display('現在メンテナンス中のためしばらくしてからご利用下さい。');
			break;
	}
	var htmlt = "";
	// 
	var tree = json.Body.VacantHotelSearch;
		// 食事設定
		var meelBF = new Array();
		meelBF[0] = new Array('朝食なし');
		meelBF[1] = new Array('朝食あり','朝食あり（選択可）');
		var meelDN = new Array();
		meelDN[0] = new Array('夕食なし');
		meelDN[1] = new Array('夕食あり','夕食あり（選択可）');
	// 該当件数
	var count = tree.hotel[0].recordCount;
	// データ件数分繰り返し
//	for (i=0; i<tree.room.length; i++){
	for (i=0; i<4; i++){
		var items = tree.room[i];
		// 料金
		var price = "";
		var charg = items.dailyCharge;
		for (i2=0; i2<charg.length; i2++){
			price += '<div>料金 : '+addFigure(charg[i2]['regularCharge'])+'円（'+charg[i2]['stayDate']+'）</div>';
		}
		// 食事
		var bf = items.withBreakfastFlag;
		var dn = items.withDinnerFlag;
		var bfs = items.breakfastSelectFlag;
		var dns = items.dinnerSelectFlag;
		var mealB = meelBF[bf][bfs];
		var mealD = meelDN[dn][dns];
		// 表示内容
		htmlt += '<li>';
		htmlt += '<a href="'+items.reserveAffiliateUrl+'" target="_blank">'+items.planName+'</a>';
		htmlt += '<div>'+price+'</div>';
		htmlt += '<div>'+mealB+" : "+mealD+'</div>';
	//	htmlt += '<div>'+items.planContents+'</div>';
		htmlt += '</li>';
	}
	html  = '<h2>検索結果一覧</h2>';
	html += '<ul style="margin:0;padding:0;list-style:none;">'+htmlt+'</ul>';
	html += '<a href="#" onClick="more();return false;">検索結果の一覧ページはコチラ</a>';
	// 表示
	display(html);
}

// 表示
function display(html){
	var tgt = document.getElementById( 'result_hotel' );
	tgt.innerHTML = html;
}

// 数値カンマ切り
function addFigure(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
	return num;
}

// もっと見るリンク
function more(){
	document.Tfs0020Form.action = 'http://arkhotel-yamato.rwiths.net/r-withs/tfs0020a.do';
	document.Tfs0020Form.target = '_blank';
	document.Tfs0020Form.submit.click();
}
