var map; 	// GoogleMap
var ddMin;  // 下限価格のプルダウン
var ddMax;  // 上限価格のプルダウン
var markers;	// 地図上に表示しているマーカー（配列で保持）
var pointArray; // 地図上に表示しているホテルバルーン情報（配列で保持）
var cookie_lat = "CENTER_LAT";  // Cookie上の緯度情報
var cookie_lng = "CENTER_LNG";  // Cookie上の経度情報
var cookie_map_type = "MAP_TYPE";  // Cookie上の地図タイプ
var cookie_zoom = "ZOOM"; // Cookie上のズーム
var cookie_MenuOpen = "MENU_OPEN";  // Cookie上の絞込みオープン情報
var cookie_MapOpen = "MAP_OPEN";  // Cookie上の地図オープン情報
var disp_target_icon = ""; // 表示対象アイコン
var not_disp_target_icon = ""; // 表示対象外アイコン
var oldObject;
var oldGMarker;

// ホテル地図情報クラス
function HotelMapInfo(str) {
	arr = str.split("：");
	this.hotelCd = arr[0]; // ホテルマスタコード
	this.latitude = arr[1];  // 緯度
	this.longitude = arr[2];  // 経度
	this.hotelDitailUrl = arr[3]; // ホテル詳細URL
	this.display = arr[4];  // 表示非表示（0：非表示、1：表示）
}
HotelMapInfo.prototype = {
    "toString": function() {
        arr = new Array();
        arr.push(this.hotelCd);
        arr.push(this.latitude);
        arr.push(this.longitude);
        arr.push(this.hotelDitailUrl);
        arr.push(this.display);
        return arr.join("：");
    }
}

// 更に条件を絞り込む押下
function openClose01() {

    if (document.getElementById("menuDetail01").style.display == "block") {
        document.getElementById("menuDetail01").style.display = "none";
        document.getElementById("btImg").className = "btClose";
        WriteCookie(cookie_MenuOpen, "0");
        document.getElementById("ctl00_ContentPlaceHolder1_MENU_OPEN").value = "0";
    } else {
        document.getElementById("menuDetail01").style.display = "block";
        document.getElementById("btImg").className = "btOpen";
        WriteCookie(cookie_MenuOpen, "1");
        document.getElementById("ctl00_ContentPlaceHolder1_MENU_OPEN").value = "1";

        // マップメニュー
        var mapOpen;
        if (document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value.length != 0) {
            mapOpen = document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value;
        } else {
            mapOpen = readCookie(cookie_MapOpen);
        }
        if ((mapOpen == undefined || mapOpen == "1") && document.getElementById("menuDetail02").style.display == "none") {
            openClose02();
        }
    }
}

// 地図を開く押下
function openClose02() {
	if (document.getElementById("menuDetail02").style.display == "block") {
		document.getElementById("menuDetail02").style.display = "none";
		document.getElementById("Imb_Map_OpenClose").src = "../img/elements/btn_map_open.gif";
		document.getElementById("Imb_Map_OpenClose").alt = "地図を開く";
		document.getElementById("bar").style.display = "block";
		WriteCookie(cookie_MapOpen, "0");
		document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value = "0";
    } else if (!map) {
        try{
        document.getElementById("menuDetail02").style.display = "block";
        document.getElementById("Imb_Map_OpenClose").src = "../img/elements/btn_map_close.gif";
        document.getElementById("Imb_Map_OpenClose").alt = "地図を閉じる";
        document.getElementById("bar").style.display = "none";
        WriteCookie(cookie_MapOpen, "1");
        document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value = "1";

        // マーカー作成
        function createMarker(point, hotelCd, index, display) {
            // Create a lettered icon for this point using our icon class
            var markerIcon = new GIcon();
            if (display == "1") {
                markerIcon.image = disp_target_icon;
            } else {
                markerIcon.image = not_disp_target_icon;
            }

            markerIcon.shadow = document.getElementById("png_file_path").value + "hotel_shadow.png";
            markerIcon.iconSize = new GSize(18, 22);
            markerIcon.shadowSize = new GSize(29, 22);
            markerIcon.iconAnchor = new GPoint(9, 22);
            markerIcon.infoWindowAnchor = new GPoint(9, 11);
            var opts = { icon: markerIcon };
            var marker = new GMarker(point, opts);
            markers[index] = marker;

            GEvent.addListener(marker, "click", function() {
                getHotelDetail(hotelCd, index, display, point);
            });
            return marker;
        }
        if (GBrowserIsCompatible()) {

            // Cookieより地図の中心座標を取得する
            var centerLat;
            var centerLng;

            if (document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LAT").value.length != 0) {
                centerLat = document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LAT").value;
                centerLng = document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LNG").value;
            } else {
                centerLat = readCookie(cookie_lat);
                centerLng = readCookie(cookie_lng);
            }
            if (!centerLat || !centerLng) {
                return;
            }
            map = new GMap2(document.getElementById("map"));

            // GoogleMapsZoom設定
            var gmapsZoom;
            if (document.getElementById("ctl00_ContentPlaceHolder1_ZOOM").value.length != 0) {
                gmapsZoom = parseInt(document.getElementById("ctl00_ContentPlaceHolder1_ZOOM").value);
            } else {
                gmapsZoom = parseInt(readCookie(cookie_zoom));
            }

            // MapType設定
            var type;
            if (document.getElementById("ctl00_ContentPlaceHolder1_MAP_TYPE").value.length != 0) {
                type = document.getElementById("ctl00_ContentPlaceHolder1_MAP_TYPE").value;
            } else {
                type = readCookie(cookie_map_type);
            }
            if (type == undefined) {
                type = "0";
            }

            var arrMap = new Array(map.getMapTypes().length);
            arrMap = map.getMapTypes();


            if (arrMap.length == 0) {
                map.setCenter(new GLatLng(centerLat, centerLng), gmapsZoom);
            } else {
                map.setCenter(new GLatLng(centerLat, centerLng), gmapsZoom, arrMap[parseInt(type)]);
            }

            map.addControl(new GLargeMapControl());
            map.addControl(new GScaleControl());
            map.addControl(new GMapTypeControl());
            if (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value.length != 0) {
                var arr = (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value).split("；");
                pointArray = new Array(arr.length);
                markers = new Array(pointArray.length);
                for (var i = 0; i < pointArray.length; i++) {
                    pointArray[i] = new HotelMapInfo(arr[i]);
                    var hotelMap = pointArray[i];
                    if (hotelMap.latitude != undefined && hotelMap.latitude.length != 0) {
                        var latlng = new GLatLng(hotelMap.latitude, hotelMap.longitude);
                        if (hotelMap.display == "0" || hotelMap.display == "1") {
                            map.addOverlay(createMarker(latlng, hotelMap.hotelCd, i, hotelMap.display));
                        }
                    }
                }
            }
            GEvent.addListener(map, "maptypechanged", function() {
                changedMaptype();
            });
            GEvent.addListener(map, "zoomend", function(oldZoomLevel, newZoomLevel) {
                changedZoom(oldZoomLevel, newZoomLevel);
            });
            GEvent.addListener(map, "moveend", function() {
                changedMove();
            });

            var landmark_lat = document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_LAT").value;
            var landmark_lng = document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_LNG").value;
            if (oldGMarker == undefined && landmark_lat != "") {
                setLandmarkIcon(landmark_lat, landmark_lng);
            }
        }
        } catch (e) { }
    } else {
		document.getElementById("menuDetail02").style.display = "block";
		document.getElementById("Imb_Map_OpenClose").src = "../img/elements/btn_map_close.gif";
		document.getElementById("Imb_Map_OpenClose").alt = "地図を閉じる";
		document.getElementById("bar").style.display = "none";
		WriteCookie(cookie_MapOpen, "1");
		document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value = "1";
	}
}

// マップタイプの変更
function changedMaptype() {
    var type = map.getCurrentMapType();
    var arr = new Array(map.getMapTypes().length);
    arr = map.getMapTypes();
    for (var i = 0; i < arr.length; i++) {
        if (type == arr[i]) {
            WriteCookie(cookie_map_type, i);
            document.getElementById("ctl00_ContentPlaceHolder1_MAP_TYPE").value = i;
        }
    }
}

// マップのズーム変更
function changedZoom(oldZoomLevel, newZoomLevel) {
    WriteCookie(cookie_zoom, newZoomLevel);
    document.getElementById("ctl00_ContentPlaceHolder1_ZOOM").value = newZoomLevel;
}

// マップの場所移動
function changedMove() {
    var center = map.getCenter();
    WriteCookie(cookie_lat, center.lat());
    WriteCookie(cookie_lng, center.lng());
    document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LAT").value = center.lat();
    document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LNG").value = center.lng();
}

// 検索から外す
function changeMarker(index) {
	map.closeInfoWindow();
	var hotelMap = pointArray[index];
	if (hotelMap.display == "1") {
	    markers[index].setImage(not_disp_target_icon);
		hotelMap.display = "0";
	} else {
	    markers[index].setImage(disp_target_icon);
		hotelMap.display = "1";
	}

	pointArray[index] = hotelMap;
	document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value = pointArray.join("；");
}

// バルーン作成
function getMapBaloonHtml(hotelDitailUrl, hotelNameEn, hotelNameJp, hotelImg, hotelGrade, hotelSummary, hotelLowestPrice, display, index, img_width, img_height) {
    var hotelName;
    var hotelImgUrl = "";
    var hotelGradeImg = "";
    var LowestPrice = "";
    var buttonImg = "";
    
    // ホテル名設定
    if (hotelNameJp != "") {
        hotelName = "<a href='" + hotelDitailUrl + "' style='text-decoration:underline; margin:0 0 5px 0; padding:0 0 10px 0;font-size:90%;color:#000000; '><b style='line-height:130%;'>" + hotelNameEn + "<br />" + hotelNameJp + "</b></a>";
    } else {
        hotelName = "<a href='" + hotelDitailUrl + "' style='text-decoration:underline; margin:0 0 5px 0; padding:0 0 10px 0;font-size:90%;color:#000000; '><b>" + hotelNameEn + "</b></a>";
    }

    // ホテル画像URL設定
    if (hotelImg != "" && hotelImg != undefined) {
        if (img_height > 70) {
            img_height = 70;
        }
        hotelImgUrl = "<a href='" + hotelDitailUrl + "' ><img src='" + hotelImg + "' alt='photo' width='" + img_width + "' height='" + img_height + "' style='margin:10px 5px 0 0;' /></a>";
    }

    // ホテルグレード画像設定
    if (hotelGrade != "" && hotelGrade != undefined) {
        hotelGradeImg = "<span style='margin:3px 5px 0 0' >" +
                        hotelGrade.replace(/＜/g, "<").replace(/＞/g, ">") +
                        "</span>";
    }

    // ホテル概要設定
    if (hotelSummary != "" && hotelSummary != undefined) {
        hotelSummary = "<p style='width:200px;font-size:80%; margin:3px 0 0 0; line-height:130%;'>" +
                        hotelSummary +
                        "</p>";
    }

    // 最安料金設定
    if (hotelLowestPrice != "" && hotelLowestPrice != undefined) {
        LowestPrice = "<p style='font-size:100%;margin:3px 0 0;'>" +
                      "<strong style='font-size:80%'>料金&nbsp：&nbsp</strong>" +
                      "<em style='font-weight:bold; color:#EB6100; font-style:normal; '>" +
                      "&yen;" + hotelLowestPrice + " 〜</em></p>";
    }

    // 検索対象から外す（検索対象にする）ボタン
    if (display == "1") {
        buttonImg = "../img/target_out.bmp";
    } else {
        buttonImg = "../img/target_in.bmp";
    }

    var msg = "<table border='0' cellspacing='0' cellpadding='0'>" +
			  "<tr style='margin:0 0 5px 0; padding:0 0 10px 0;' ><td colspan='2' >" +
			  hotelName +
			  "</td></tr>" +
			  "<tr valign='top' ><td>" +
			  hotelImgUrl +
			  "</td>" +
			  "<td style='margin:5px 5px 0 0;padding:5px 0 0 0;'>" +
			  hotelGradeImg +
			  hotelSummary +
			  LowestPrice +
			  "<a href='javascript:changeMarker(" + index + ")' style='float:bottom'><img src='" + buttonImg + "' style='float:right'></a>" +
			  "</td></tr></table>";
    return msg;
}

// 地図上のホテルのみボタン押下
function setMapPoint() {
    try{
    if (document.getElementById("menuDetail02").style.display == "none") {
        alert("地図を表示してください");
    } else {
        var latlngBounds = map.getBounds();
        var swLatlng = latlngBounds.getSouthWest();
        var swlat = swLatlng.lat();
        var swlng = swLatlng.lng();

        var neLatlng = latlngBounds.getNorthEast();
        var nelat = neLatlng.lat();
        var nelng = neLatlng.lng();
        map.closeInfoWindow();
        for (var i = 0; i < pointArray.length; i++) {
            var hotelMap = pointArray[i];
            if (hotelMap.latitude != undefined && hotelMap.latitude.length != 0) {
                if ((swlat > hotelMap.latitude) || (nelat < hotelMap.latitude) || (swlng > hotelMap.longitude) || (nelng < hotelMap.longitude)) {
                    if (hotelMap.display == "1") {
                        markers[i].setImage(not_disp_target_icon);
                        hotelMap.display = "0";
                        pointArray[i] = hotelMap;
                    }
                } else {
                    if (hotelMap.display == "0") {
                        markers[i].setImage(disp_target_icon);
                        hotelMap.display = "1";
                        pointArray[i] = hotelMap;
                    }
                }
            } else {
                hotelMap.display = "0";
                pointArray[i] = hotelMap;
            }
        }
        document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value = pointArray.join("；");
    }
    } catch (e) { }
}

// 地図上を初期化する
function mapInit() {
    if (map) {
        map.closeInfoWindow();
        if (pointArray != undefined) {
            for (var i = 0; i < pointArray.length; i++) {
                var hotelMap = pointArray[i];
                if (hotelMap.latitude != undefined && hotelMap.latitude.length != 0) {
                    if (hotelMap.display == "0") {
                        markers[i].setImage(disp_target_icon);
                    }
                    hotelMap.display = "1";
                } else {
                    hotelMap.display = "1";
                }
                pointArray[i] = hotelMap;
            }
            document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value = pointArray.join("；");
        }
    } else {
        if (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value.length != 0) {
            var arr = (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value).split("；");
            var arrhotel = new Array(arr.length);
            for (var i = 0; i < arr.length; i++) {
                var hotelMap = new HotelMapInfo(arr[i]);
                if (hotelMap.display == "0") {
                    hotelMap.display = "1";
                }
                arrhotel[i] = hotelMap;
            }
            document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value = arrhotel.join("；");
        }
    }
}

// 地図の座標変更（ランドマーク押下など）
function moveMap(Lat, Lng, flg) {
    try {
    if (Lat == undefined || Lng == undefined || Lat == "" || Lng == "") {
        return;
    }

    if (document.getElementById("menuDetail01").style.display == "none") {
	    openClose01();
    }
    if (document.getElementById("menuDetail02").style.display == "none") {
	    openClose02();
	}
	map.closeInfoWindow();
    map.panTo(new GLatLng(Lat, Lng));

    if (!flg) {
        // Cookieに地図の中心座標を設定する
        WriteCookie(cookie_lat, Lat);
        WriteCookie(cookie_lng, Lng);
        document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LAT").value = Lat;
        document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LNG").value = Lng;
    }
    var mapBoxUrl = document.getElementById("ctl00_ContentPlaceHolder1_Hyp_Page_Top").href;
    mapBoxUrl = mapBoxUrl.replace("#top", "#mapBox");
	
    // anchorで地図の場所にスクロールを移動する
    location.href = mapBoxUrl;
    } catch (e) { }
}

// ランドマークリンク押下
function moveMapLandmark(Lat, Lng, count) {
    try {
        var objLI = "landmark_" + count;
        if (oldObject != undefined) {
            // ランドマークアイコンを削除
            document.getElementById(oldObject).style.visibility = "hidden";
            map.removeOverlay(oldGMarker);
        }

        document.getElementById(objLI).style.visibility = "visible";
        oldObject = objLI;
        // 表示情報を退避
        document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_NAME").value = objLI;

        // 地図の表示と中心移動
        moveMap(Lat, Lng);

        // ランドマークアイコン表示
        setLandmarkIcon(Lat, Lng);
        
    } catch (e) { }
}

// ランドマークアイコン設定
function setLandmarkIcon(Lat, Lng) {
    var point = new GLatLng(Lat, Lng)
    var landmarkIcon = new GIcon();
    landmarkIcon.image = document.getElementById("png_file_path").value + "landmark.PNG";
    landmarkIcon.shadow = document.getElementById("png_file_path").value + "landmark_shadow.PNG";
    landmarkIcon.iconSize = new GSize(18, 22);
    landmarkIcon.shadowSize = new GSize(29, 22);
    landmarkIcon.iconAnchor = new GPoint(9, 22);

    var markerOptions = { icon: landmarkIcon };
    var marker = new GMarker(point, markerOptions);

    map.addOverlay(marker);

    oldGMarker = marker;
    document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_LAT").value = Lat;
    document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_LNG").value = Lng;
}

// 地図を見るボタン押下
function moveMapHotel(hotelCd, Lat, Lng) {
    try {
        // 地図の表示と中心移動
        moveMap(Lat, Lng);

        // 表示対象のホテル一覧よりバルーンの表示情報を取得
        if (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value.length != 0) {
            var arr = (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value).split("；");
            var hotelArray = new Array(arr.length);
            var i = 0;
            var point;
            var index;
            var display;
            while (i < hotelArray.length) {
                hotelArray[i] = new HotelMapInfo(arr[i]);
                var hotelMap = hotelArray[i];
                
                // ホテルコードが一致したら抜ける
                if (hotelMap.hotelCd == hotelCd) {
                    point = new GLatLng(Lat, Lng);
                    index = i;
                    display = hotelMap.display;
                    break;
                }           
                i = i + 1;
            }

            // ホテルマスタコードが見つかった場合
            if (point != undefined) {
                // バルーン表示
                getHotelDetail(hotelCd, index, display, point);
            }
        }
    } catch (e) { }
}

// 条件クリア
function clearCondition() {
    document.getElementById("ctl00_ContentPlaceHolder1_Hid_LowPrice").value = "";
    document.getElementById("ctl00_ContentPlaceHolder1_Hid_UppPrice").value = "";
	ddInit(1);
	mapInit();
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Vacancy_Hotel").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Hotel_Grade1").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Hotel_Grade2").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Hotel_Grade3").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Hotel_Grade4").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Hotel_Grade5").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Japanese_Staff").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Pool").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Spa").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Laundry").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Internet").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Bathtub").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_AC").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Drier").checked = false;
	document.getElementById("ctl00_ContentPlaceHolder1_Chk_Equipment_Pot").checked = false;
}


// 初期表示時に下限上限価格のプルダウンを作成する
function ddInit(flg) {
    // アイコンの初期化
    disp_target_icon = document.getElementById("png_file_path").value + "hotel_red.PNG";
    not_disp_target_icon = document.getElementById("png_file_path").value + "hotel_blue.PNG";

    if (/msie/i.test(navigator.userAgent)) {
        document.getElementById('ctl00_ContentPlaceHolder1_Ddl_CheckinYm').onpropertychange = calculateCheckoutDate;
        document.getElementById('ctl00_ContentPlaceHolder1_Ddl_CheckinDay').onpropertychange = calculateCheckoutDate;

    }
    else {
        document.addEventListener("click", calculateCheckoutDate, false);
    }

    var landobjLI = document.getElementById("ctl00_ContentPlaceHolder1_LANDMARK_NAME").value;
    if (oldObject == undefined && landobjLI != "") {
        document.getElementById(landobjLI).style.visibility = "visible";
        oldObject = landobjLI;
    }

    ddMin = document.getElementById('Ddl_Lower_Price');
    ddMax = document.getElementById('Ddl_Upper_Price');

    // 下限価格プルダウンにデータを投入する
    valueInit(ddMin, chargeMin, null, null, document.getElementById("ctl00_ContentPlaceHolder1_Hid_LowPrice").value);
    // 上限価格プルダウンにデータを投入する
    valueInit(ddMax, chargeMax, ddMin.value, document.getElementById("ctl00_ContentPlaceHolder1_Hid_UppPrice").value, document.getElementById("ctl00_ContentPlaceHolder1_Hid_UppPrice").value);
    
    if (flg != 1) {
        showRoomNum();

        // 画像のアスペクト比変更
        resizeImage(".Hotel_Img", 150, 105);
        resizeImage(".Hotel_Min_Img", 50, 35);

        // 絞込みメニュー
        var menuOpen;
        if (document.getElementById("ctl00_ContentPlaceHolder1_MENU_OPEN").value.length != 0) {
            menuOpen = document.getElementById("ctl00_ContentPlaceHolder1_MENU_OPEN").value;
        }
        else {
            menuOpen = readCookie(cookie_MenuOpen);
            document.getElementById("ctl00_ContentPlaceHolder1_MENU_OPEN").value = menuOpen;
            document.getElementById("ctl00_ContentPlaceHolder1_MAP_OPEN").value = readCookie(cookie_MapOpen);
            document.getElementById("ctl00_ContentPlaceHolder1_ZOOM").value = readCookie(cookie_zoom);
            document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LAT").value = readCookie(cookie_lat);
            document.getElementById("ctl00_ContentPlaceHolder1_CENTER_LNG").value = readCookie(cookie_lng);
            document.getElementById("ctl00_ContentPlaceHolder1_MAP_TYPE").value = readCookie(cookie_map_type);
        }

        if (menuOpen && menuOpen == "1") {
            openClose01();
        }
    }

	ddMin.onchange = onMinChange;

	// プルダウン変更後の再表示
	if (document.getElementById('ctl00_ContentPlaceHolder1_Hid_LowPrice').value != "") {
	    ddMin.SelectedValue = document.getElementById('ctl00_ContentPlaceHolder1_Hid_LowPrice').value;
	}
	if (document.getElementById('ctl00_ContentPlaceHolder1_Hid_UppPrice').value != "") {
	    ddMax.SelectedValue = document.getElementById('ctl00_ContentPlaceHolder1_Hid_UppPrice').value;
    }

	// プルダウンに指定した範囲内の情報を設定する。
	function valueInit(dd, charge, min, max, selected){
		// remove all node
		while(dd&&dd.childNodes.length > 0){
			dd.removeChild(dd.firstChild);
		}

		// add node
		for(var i in charge){
			var _value   = (i != 0 ? i : '');
			var _display = charge[i];

			if(!min || !_value || _value >= min){
				var _option  = document.createElement('option');

				_option.innerHTML = _display;
				_option.value	  = _value;

				dd.appendChild(_option);
			}
		}

		for(var i = 1; i < dd.childNodes.length; i++){
			var _value = dd.childNodes[i].value;

			if(max && max == _value){
				dd.childNodes[i].selected = true;
			}
			else if(min && max && min == _value && min > max){
				dd.childNodes[i].selected = true;
				break;
			}
			else if(selected && selected == _value){
			    dd.childNodes[i].selected = true;
			    break;
			}
		}
	}

// 価格下限プルダウンの変更イベント
	function onMinChange(){
		var _min = ddMin.value;
		var _max = ddMax.value;

		valueInit(ddMax, chargeMax, _min, _max);
    }
}

// Cookie読込み
function readCookie(key) {
    return getCookieArray()[key];
}

// Cookie書込み
function WriteCookie(key, value) {
    var _SP = '=';

    document.cookie = key + _SP + value + ";" + " path=" + "/;";
}

// Cookieを配列に格納
function getCookieArray() {
    var _ck = document.cookie;
    var _SP1 = ';';
    var _SP2 = '=';
    var _el = _ck.split(_SP1);
    var _ary = new Object();

    for (var i = 0; i < _el.length; i++) {
        try {
            var _kv = _el[i].split(_SP2);
            var _key = _kv[0].replace(/^ /, '').replace(/ $/, '');
            var _value = _kv[1];

            _ary[_key] = _value;
        }
        catch (e) {
            alert(e.description)
        }
    }

    return _ary;
}

// お気に入りリストに追加
function addWishList(hotelcd) {

    // お気に入りリスト呼出し
    function getWishList() {
        var wishListStr = readCookie("WishList");
        if (wishListStr) {
            return unescape(wishListStr).split(",");
        } else {
            return new Array();
        }
    }

    var wishList;
    var delWishList;

    delWishList = getWishList();
    delWishList = delWishList.remove([hotelcd], ",");
    if (delWishList) {
        wishList = delWishList.split(",");
    } else {
        wishList = new Array();
    }

    wishList.push(hotelcd);
    
    for(var i = 0; i<wishList.length; i++){
        if (i > 19) {
            wishList.shift();
        }
    }
    
    var expire = new Date();
    expire.setTime(expire.getTime() + 1000 * 60 * 60 * 24 * 30);
    var setValue;
    setValue = "WishList" + "=" + escape(wishList.join(",")) + ";";
    setValue += " expires=" + expire.toGMTString() + ";";
    setValue += " path=" + "/;";
    document.cookie = setValue;

    document.getElementById("ctl00_ContentPlaceHolder1_Hid_NextPage").value = "W";
    doPostBack();
}


Array.prototype.indexOf = function(value) {
    var i = this.length;
    while (i) {
        if (this[--i] == value) return i;
    }
    return -1;
};

Array.prototype.remove = function(value, cap) {
    var i = this.length; var a;
    while (i--) {
        if (value.indexOf(a = this.pop()) == -1) this.unshift(a);
    }
    return (cap) ? this.join(cap) : this;
};

function getHotelDetail(hotelCd, index, display, point) {
    _callbackFunc = callbackFunc;
    sendRequest("../MapBackAccess.aspx?FunctionKBN=2&SearchKey=" + hotelCd);

    function callbackFunc(text, xml) {
        var hotels = xml.getElementsByTagName("Hotel");
        
        // ホテル名（日本語）
        var hotelName = hotels[0].getAttribute("HotelName");
        // ホテル名（英語）
        var hotelNameEn = hotels[0].getAttribute("HotelNameEn");
        // グレード
        var grade = hotels[0].getAttribute("Grade");
        // ホテル概要
        var hotelSummary;
        var maxLength = parseInt(document.getElementById("ctl00_ContentPlaceHolder1_Hid_HotelSummaryLength").value);
        if (hotels[0].getElementsByTagName("HotelSummary")[0].firstChild == null) {
            hotelSummary = "";
        } else {
            hotelSummary = hotels[0].getElementsByTagName("HotelSummary")[0].firstChild.nodeValue;
        }
        if (hotelSummary.length != 0) {
            if (hotelSummary.length > maxLength) {
                hotelSummary = hotelSummary.substr(0, maxLength) + "...";
            }
        }
        // サムネイル画像
        var hotelImage;
        if (hotels[0].getElementsByTagName("Images").length != 0) {
            hotelImage = hotels[0].getElementsByTagName("Images")[0].getElementsByTagName("PrimaryImage")[0].getAttribute("ThumbnailUrl");
        } else {
            hotelImage = "";
        }
        // 最安値
        var LowestPrice1;
        if (hotels[0].getElementsByTagName("LowestPrice").length != 0) {
            if (hotels[0].getElementsByTagName("LowestPrice")[0].getAttribute("LowestPrice1").length != 0) {
                LowestPrice1 = SetComma(hotels[0].getElementsByTagName("LowestPrice")[0].getAttribute("LowestPrice1"));
            } else {
                LowestPrice1 = "";
            }
        } else {
            LowestPrice1 = "";
        }

        var arr = (document.getElementById("ctl00_ContentPlaceHolder1_Hid_MapPoint").value).split("；");
        pointArray = new Array(arr.length);

        for (var i = 0; i < pointArray.length; i++) {
            pointArray[i] = new HotelMapInfo(arr[i]);
            var hotelMap = pointArray[i];
            if (hotelMap.hotelCd == hotelCd) {
                display = hotelMap.display;
            }
        }

        var baloonPhotoURL = hotelImage;
        if (jQuery("#baloonphoto")) {
            jQuery("#baloonphoto").remove();
        }
        jQuery("#BALOON_HIDDEN").append('<img id="baloonphoto" width="100" src="' + baloonPhotoURL + '">');
        resizeImageNow("#baloonphoto", 100, 70, function() {        
            var msg = getMapBaloonHtml("../HotelDetail/" + hotelCd + ".aspx",
                                    HtmlEncode(hotelNameEn),
                                    HtmlEncode(hotelName),
                                    hotelImage,
                                    getGradeImage(grade),
                                    HtmlEncode(hotelSummary),
                                    LowestPrice1,
                                    display,
                                    index,
                                    jQuery("#baloonphoto").width(),
                                    jQuery("#baloonphoto").height());
            var optsWidth = { maxWidth: 320 };
            map.openInfoWindowHtml(point, msg, optsWidth);
            
            if (jQuery("#baloonphoto")) {
                jQuery("#baloonphoto").remove();
            }
        });
        
    }

    function getGradeImage(grade) {
        var gradeImage;
        if (grade.toString() == "") {
            return "";
        }
        if (grade == 1.0) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 1.5) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n02.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 2.0) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 2.5) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n02.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 3.0) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 3.5) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n02.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 4.0) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n03.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 4.5) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n02.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        if (grade == 5.0) {
            gradeImage = "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
            gradeImage = gradeImage + "<img class='rankIcn' src='../img/elements/icn_rank_n01.gif' width='13' height='10' alt='rank' style='margin:0 2px 0 0'/>";
        }
        return gradeImage;
    }

    function SetComma(price) {
        var num = (Math.floor(price * Math.pow(10, 0)) / Math.pow(10, 0)) + "";
        while (num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
        return num;
    }
    
}

function HtmlEncode(str) 
{
    return str.replace(/&/ig, "&amp;").replace(/</ig, "&lt;").replace(/>/ig, "&gt;").replace(/&apos;/ig, "&apos;").replace(/"/ig, "&quot;").replace(/  /ig, " &nbsp;");
}

function unload() 
{
    try {
        GUnload();
    } catch (e) { }
}

function SearchPegasus(hotelCd, num) {
    var Imb_Pegasus_Price = document.getElementById("Imb_Pegasus_Price_" + hotelCd);
    var Img_Pegasus_Search = document.getElementById("Img_Pegasus_Search_" + hotelCd);
    var Pegasus_ErrMsg = document.getElementById("Pegasus_ErrMsg_" + hotelCd);
    var hotelNm = document.getElementById("Hdn_Hotel_Name_" + hotelCd).value;
    var tr_search = document.getElementById("tr_search_" + hotelCd);
    var td_msg = document.getElementById("td_msg_" + hotelCd);
    var td_img = document.getElementById("td_img_" + hotelCd);
    var table_id = document.getElementById("id_" + hotelCd);

    // ボタンを非表示にして、検索中イメージを表示
    tr_search.removeChild(td_msg);
    td_img.colSpan = 12;
    Imb_Pegasus_Price.style.display = "none";
    Img_Pegasus_Search.style.display = "block";

    var cityCd = document.getElementById("ctl00_ContentPlaceHolder1_Hid_CityCd").value;
    var stayCnt = document.getElementById("ctl00_ContentPlaceHolder1_NIGHTS").value;
    var checkInDate = document.getElementById("ctl00_ContentPlaceHolder1_CHECK_IN_YM").value;
    checkInDate = checkInDate + document.getElementById("ctl00_ContentPlaceHolder1_CHECK_IN_DAY").value;
    var roomCnt = document.getElementById("ctl00_ContentPlaceHolder1_ROOMS").value;
    var adult = document.getElementById("ctl00_ContentPlaceHolder1_ADULT_NUM1").value;
    adult = adult + "," + document.getElementById("ctl00_ContentPlaceHolder1_ADULT_NUM2").value;
    adult = adult + "," + document.getElementById("ctl00_ContentPlaceHolder1_ADULT_NUM3").value;
    var children = document.getElementById("ctl00_ContentPlaceHolder1_CHILD_NUM1").value;
    children = children + "," + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_NUM2").value;
    children = children + "," + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_NUM3").value;
    var age_of_child = document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE11").value;
    age_of_child = age_of_child + "_" + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE12").value;
    age_of_child = age_of_child + "," + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE21").value;
    age_of_child = age_of_child + "_" + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE22").value;
    age_of_child = age_of_child + "," + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE31").value;
    age_of_child = age_of_child + "_" + document.getElementById("ctl00_ContentPlaceHolder1_CHILD_AGE32").value;

    var strUrlParam = "&city_cd=" + cityCd;
    strUrlParam = strUrlParam + "&check_in=" + checkInDate;
    strUrlParam = strUrlParam + "&stay_cnt=" + stayCnt;
    strUrlParam = strUrlParam + "&supplier_div=2";
    strUrlParam = strUrlParam + "&room_cnt=" + roomCnt;
    strUrlParam = strUrlParam + "&adult=" + adult;
    strUrlParam = strUrlParam + "&children=" + children;
    strUrlParam = strUrlParam + "&age_of_child=" + age_of_child;

    _callbackFuncList[num] = callbackFunc;
    sendRequest2("../BackAccess.aspx?FunctionKBN=3&SearchKey=" + hotelCd + strUrlParam, num);

    function callbackFunc(text, xml) {
        var pegasusDisplay = 0;
        var priceLower = document.getElementById("ctl00_ContentPlaceHolder1_PRICE_LOWER").value;
        var priceUpper = document.getElementById("ctl00_ContentPlaceHolder1_PRICE_UPPER").value;
        var stock = document.getElementById("ctl00_ContentPlaceHolder1_STOCK").value;

        try {
            var hotel = xml.getElementsByTagName("Hotel");
            var categoryPlans = hotel[0].getElementsByTagName("CategoryPlans");
            var categoryPlan = categoryPlans[0].getElementsByTagName("CategoryPlan");

            for (var i = 0; i < categoryPlan.length; i++) {
                var ReceptionDiv = categoryPlan[i].getAttribute("ReceptionDiv");
                var PlanCd = categoryPlan[i].getAttribute("PlanCd");
                var PlanName = categoryPlan[i].getAttribute("PlanName");
                var Rooms = categoryPlan[i].getElementsByTagName("Rooms");
                var Room = Rooms[0].getElementsByTagName("Room");
                var room_contents = new Array();
                var night_contents = new Array();
                var totalLocalPrice = 0;    // 合計金額（現地）
                var totalPrice = 0;         // 合計金額
                var planCurrencyCd;         // 通貨コード
                var referenceCurrencyCd;    // 自サイト通貨コード
                var day1_price = 0;         // 1泊目参考価格
                var planDisplay = 1;        // プラン表示有無

                if (!PlanName) {
                    PlanName = "";
                }

                for (var j = 0; j < Room.length; j++) {
                    var RoomType = Room[j].getElementsByTagName("RoomType");
                    var RoomTypeCd = RoomType[0].getAttribute("RoomTypeCd");
                    var RoomTypeName = RoomType[0].getAttribute("RoomTypeName");
                    var RoomPrice = Room[j].getElementsByTagName("RoomPrice");
                    var Price = RoomPrice[0].getAttribute("Price");
                    var CurrencyCd = RoomPrice[0].getAttribute("CurrencyCd");
                    var ReferencePrice = RoomPrice[0].getAttribute("ReferencePrice");
                    var ReferenceCurrencyCd = RoomPrice[0].getAttribute("ReferenceCurrencyCd");

                    var room_content = new Object();
                    room_content.RoomTypeCd = RoomTypeCd;
                    room_content.RoomTypeName = RoomTypeName;

                    // 合計金額に部屋料金を加算
                    totalLocalPrice += parseFloat(Price);
                    totalPrice += parseInt(ReferencePrice);

                    // 通貨コード設定
                    if (!planCurrencyCd) {
                        planCurrencyCd = CurrencyCd;
                    }
                    // 自サイト通貨コード設定
                    if (!referenceCurrencyCd) {
                        referenceCurrencyCd = ReferenceCurrencyCd;
                    }

                    // 部屋情報格納
                    room_contents.push(room_content);
                }

                for (var j = 0; j < stayCnt; j++) {
                    var nightLocalPrice = 0;
                    var nightCurrencyCd;
                    var nightStock;

                    for (var k = 0; k < roomCnt; k++) {
                        var Nights = Room[k].getElementsByTagName("Nights");
                        var Night = Nights[0].getElementsByTagName("Night");
                        var NightPrice = Night[j].getElementsByTagName("NightPrice");
                        var NightOriginalPrice = NightPrice[0].getAttribute("OriginalPrice");
                        var NightCurrencyCd = NightPrice[0].getAttribute("CurrencyCd");
                        var NightReferencePrice = NightPrice[0].getAttribute("ReferencePrice");
                        var NightStock = Night[j].getElementsByTagName("NightStock");
                        var StockKeepFlg = NightStock[0].getAttribute("StockKeepFlg");

                        nightLocalPrice += parseFloat(NightOriginalPrice);

                        if (!nightCurrencyCd) {
                            nightCurrencyCd = NightCurrencyCd;
                        }
                        if (nightStock != -1) {
                            nightStock = StockKeepFlg;
                        }

                        // 1泊目料金設定
                        if (j == 0) {
                            day1_price += parseInt(NightReferencePrice);
                        }
                    }

                    var night_content = new Object();
                    night_content.localPrice = nightLocalPrice;
                    night_content.CurrencyCd = nightCurrencyCd;
                    var nightStockImg;

                    switch (nightStock) {
                        case "-1":
                            nightStockImg = "×";
                            break;
                        case "0":
                            nightStockImg = "△";
                            break;
                        case "1":
                            nightStockImg = "○";
                            break;
                    }

                    night_content.stock = nightStockImg;

                    night_contents.push(night_content)
                }

                var PaymentMethod;

                // 空室状況をホテル一覧画面での設定値に変更
                if (ReceptionDiv == "1") {
                    PaymentMethod = "2";
                } else {
                    PaymentMethod = "0";
                }

                // 空室状況のみチェック
                if (stock == "True" && PaymentMethod != "2") {
                    planDisplay = 0;
                }

                // 価格下限チェック
                if (priceLower != 0 && priceLower > day1_price) {
                    planDisplay = 0;
                }

                // 価格上限チェック
                if (priceUpper != 0 && priceUpper < day1_price) {
                    planDisplay = 0;
                }

                // 表示対象プラン有り
                if (planDisplay == 1) {
                    pegasusDisplay = 1;
                    
                    // ホテル選択確認画面へのリンク作成
                    var linkUrl;
                    linkUrl = "javascript:NextHotelConfirm(";
                    linkUrl += hotelNm;
                    linkUrl += ",'','','";
                    linkUrl += PlanCd;
                    linkUrl += "','";
                    linkUrl += HtmlEncode(PlanName).replace("'", "\\'");
                    linkUrl += "','";
                    for (var j = 0; j < 3; j++) {
                        if (j < room_contents.length) {
                            linkUrl += room_contents[j].RoomTypeCd;
                        }
                        linkUrl += ";";
                    }
                    linkUrl = linkUrl.substring(0, linkUrl.length - 1);
                    linkUrl += "','";
                    linkUrl += "2";
                    linkUrl += "','";
                    linkUrl += PaymentMethod;
                    linkUrl += "','";
                    linkUrl += new String(totalLocalPrice.toFixed(2));
                    linkUrl += "');";

                    var tr_tag = document.createElement("tr");
                    tr_tag.setAttribute("id", "tr1_" + i + hotelCd);
                    var week = Math.floor(parseInt(stayCnt - 1) / 7);
                    var RowSpanPlan = 2 + week;

                    table_id.appendChild(tr_tag);

                    if (PaymentMethod == "0") {
                        document.getElementById("tr1_" + i + hotelCd).className = "noVa";
                    }

                    // プラン名表示
                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdPlanNm_" + i + hotelCd);

                    if (PaymentMethod == "0") {
                        td_tag.innerHTML = PlanName;
                    } else {
                        td_tag.innerHTML = "<a href=\"" + linkUrl + "\">" + PlanName + "</a>";
                    }

                    tr_tag.appendChild(td_tag);
                    document.getElementById("tdPlanNm_" + i + hotelCd).className = "lnLno planNeame";
                    document.getElementById("tdPlanNm_" + i + hotelCd).rowSpan = RowSpanPlan;

                    // １週目タイトル表示
                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdWeek1_" + i + hotelCd);
                    td_tag.innerHTML = "1週目";
                    tr_tag.appendChild(td_tag);
                    document.getElementById("tdWeek1_" + i + hotelCd).className = "tc";

                    var weekCnt = night_contents.length;
                    if (weekCnt > 7) {
                        weekCnt = 7;
                    }

                    // 日毎料金表示
                    for (var j = 0; j < weekCnt; j++) {
                        var td_night = document.createElement("td");
                        var night_inner = "";
                        td_night.setAttribute("id", "tdPrice1" + j + "_" + i + hotelCd);
                        if (ReferenceCurrencyCd == night_contents[j].CurrencyCd) {
                            night_inner = "&yen;";
                            night_inner += addComma(new String(night_contents[j].localPrice));
                            night_inner += "<br/ >";
                            night_inner += night_contents[j].stock;
                        } else {
                            night_inner = "(";
                            night_inner += night_contents[j].CurrencyCd;
                            night_inner += ")";
                            night_inner += "<br/ >";
                            night_inner += addComma(new String(night_contents[j].localPrice), 2);
                            night_inner += "<br/ >";
                            night_inner += night_contents[j].stock;
                        }
                        td_night.innerHTML = night_inner;
                        tr_tag.appendChild(td_night);
                        document.getElementById("tdPrice1" + j + "_" + i + hotelCd).className = "price";
                    }
                    if (weekCnt != 7) {
                        for (var k = 0; k < 7 - weekCnt; k++) {
                            var td_night = document.createElement("td");
                            td_night.setAttribute("id", "tdsp" + k + "_" + i + hotelCd);
                            tr_tag.appendChild(td_night);
                            document.getElementById("tdsp" + k + "_" + i + hotelCd).className = "price";
                        }
                    }

                    // 総額表示
                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdTotalPrice_" + i + hotelCd);
                    var total_inner = "";
                    if (ReferenceCurrencyCd == planCurrencyCd) {
                        total_inner = "&yen;";
                        total_inner += addComma(new String(totalPrice));
                    } else {
                        total_inner = "(";
                        total_inner += planCurrencyCd;
                        total_inner += ")<br />";
                        total_inner += addComma(new String(totalLocalPrice), 2);
                        total_inner += "<br /><span class='refe'>[参考]<br />&yen;";
                        total_inner += addComma(new String(totalPrice));
                        total_inner += "</span>";
                    }
                    td_tag.innerHTML = total_inner;
                    tr_tag.appendChild(td_tag);
                    document.getElementById("tdTotalPrice_" + i + hotelCd).className = "total";
                    document.getElementById("tdTotalPrice_" + i + hotelCd).rowSpan = RowSpanPlan;

                    // 平均価格表示
                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdAveragePrice_" + i + hotelCd);
                    var average_inner = "";
                    var averagePrice = 0;
                    var averageLocalPrice = 0;

                    averagePrice = Math.round(totalPrice / parseInt(stayCnt) / parseInt(roomCnt));
                    averageLocalPrice = Math.round(totalLocalPrice / parseInt(stayCnt) / parseInt(roomCnt) * 100) / 100;

                    if (ReferenceCurrencyCd == planCurrencyCd) {
                        average_inner = "&yen;";
                        average_inner += addComma(new String(averagePrice));
                    } else {
                        average_inner = "(";
                        average_inner += planCurrencyCd;
                        average_inner += ")<br />";
                        average_inner += addComma(new String(averageLocalPrice), 2);
                        average_inner += "<br /><span class='refe'>[参考]<br />&yen;";
                        average_inner += addComma(new String(averagePrice));
                        average_inner += "</span>";
                    }
                    td_tag.innerHTML = average_inner;
                    tr_tag.appendChild(td_tag);
                    document.getElementById("tdAveragePrice_" + i + hotelCd).className = "tc";
                    document.getElementById("tdAveragePrice_" + i + hotelCd).rowSpan = RowSpanPlan;

                    // ボタン表示
                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdButtonImg_" + i + hotelCd);
                    var buttonImg_inner = "";

                    switch (PaymentMethod) {
                        case "0":
                            buttonImg_inner = "<img src='../img/elements/icn_status_01.jpg' width='50' height='21' alt='満室' />";
                            break;
                        case "2":
                            buttonImg_inner = "<a href=\"" + linkUrl + "\">";
                            buttonImg_inner += "<img src='../img/elements/icn_status_02.jpg' width='50' height='21' alt='予約' />";
                            buttonImg_inner += "</a>";
                            break;
                    }
                    td_tag.innerHTML = buttonImg_inner;
                    tr_tag.appendChild(td_tag);
                    document.getElementById("tdButtonImg_" + i + hotelCd).className = "tc lnRno";
                    document.getElementById("tdButtonImg_" + i + hotelCd).rowSpan = RowSpanPlan;

                    // 2週目
                    if (week > 0) {
                        var tr2_tag = document.createElement("tr");
                        tr2_tag.setAttribute("id", "tr2_" + i + hotelCd);
                        table_id.appendChild(tr2_tag);

                        if (PaymentMethod == "0") {
                            document.getElementById("tr2_" + i + hotelCd).className = "noVa";
                        }

                        // ２週目タイトル表示
                        var td_tag = document.createElement("td");
                        td_tag.setAttribute("id", "tdWeek2_" + i + hotelCd);
                        td_tag.innerHTML = "2週目";
                        tr2_tag.appendChild(td_tag);
                        document.getElementById("tdWeek2_" + i + hotelCd).className = "tc";

                        var weekCnt = night_contents.length;
                        if (weekCnt > 14) {
                            weekCnt = 14;
                        }

                        // 日毎料金表示
                        for (var j = 7; j < weekCnt; j++) {
                            var td_night = document.createElement("td");
                            var night_inner = "";
                            td_night.setAttribute("id", "tdPrice2" + j + "_" + i + hotelCd);
                            if (ReferenceCurrencyCd == night_contents[j].CurrencyCd) {
                                night_inner = "&yen;";
                                night_inner += addComma(new String(night_contents[j].localPrice));
                                night_inner += "<br/ >";
                                night_inner += night_contents[j].stock;
                            } else {
                                night_inner = "(";
                                night_inner += night_contents[j].CurrencyCd;
                                night_inner += ")";
                                night_inner += "<br/ >";
                                night_inner += addComma(new String(night_contents[j].localPrice), 2);
                                night_inner += "<br/ >";
                                night_inner += night_contents[j].stock;
                            }
                            td_night.innerHTML = night_inner;
                            tr2_tag.appendChild(td_night);
                            document.getElementById("tdPrice2" + j + "_" + i + hotelCd).className = "price";
                        }
                        if (weekCnt != 14) {
                            for (var k = 0; k < 14 - weekCnt; k++) {
                                var td_night = document.createElement("td");
                                td_night.setAttribute("id", "tdsp2" + k + "_" + i + hotelCd);
                                tr2_tag.appendChild(td_night);
                                document.getElementById("tdsp2" + k + "_" + i + hotelCd).className = "price";
                            }
                        }
                    }

                    // 3週目
                    if (week > 1) {
                        var tr3_tag = document.createElement("tr");
                        tr3_tag.setAttribute("id", "tr3_" + i + hotelCd);
                        table_id.appendChild(tr3_tag);

                        if (PaymentMethod == "0") {
                            document.getElementById("tr3_" + i + hotelCd).className = "noVa";
                        }

                        // ３週目タイトル表示
                        var td_tag = document.createElement("td");
                        td_tag.setAttribute("id", "tdWeek3_" + i + hotelCd);
                        td_tag.innerHTML = "3週目";
                        tr3_tag.appendChild(td_tag);
                        document.getElementById("tdWeek3_" + i + hotelCd).className = "tc";

                        var weekCnt = night_contents.length;
                        if (weekCnt > 21) {
                            weekCnt = 21;
                        }

                        // 日毎料金表示
                        for (var j = 14; j < weekCnt; j++) {
                            var td_night = document.createElement("td");
                            var night_inner = "";
                            td_night.setAttribute("id", "tdPrice3" + j + "_" + i + hotelCd);
                            if (ReferenceCurrencyCd == night_contents[j].CurrencyCd) {
                                night_inner = "&yen;";
                                night_inner += addComma(new String(night_contents[j].localPrice));
                                night_inner += "<br/ >";
                                night_inner += night_contents[j].stock;
                            } else {
                                night_inner = "(";
                                night_inner += night_contents[j].CurrencyCd;
                                night_inner += ")";
                                night_inner += "<br/ >";
                                night_inner += addComma(new String(night_contents[j].localPrice), 2);
                                night_inner += "<br/ >";
                                night_inner += night_contents[j].stock;
                            }
                            td_night.innerHTML = night_inner;
                            tr3_tag.appendChild(td_night);
                            document.getElementById("tdPrice3" + j + "_" + i + hotelCd).className = "price";
                        }
                        if (weekCnt != 21) {
                            for (var k = 0; k < 21 - weekCnt; k++) {
                                var td_night = document.createElement("td");
                                td_night.setAttribute("id", "tdsp3" + k + "_" + i + hotelCd);
                                tr3_tag.appendChild(td_night);
                                document.getElementById("tdsp3" + k + "_" + i + hotelCd).className = "price";
                            }
                        }
                    }

                    // 部屋タイプ表示
                    var tr4_tag = document.createElement("tr");
                    tr4_tag.setAttribute("id", "tr4_" + i + hotelCd);
                    table_id.appendChild(tr4_tag);

                    if (PaymentMethod == "0") {
                        document.getElementById("tr4_" + i + hotelCd).className = "noVa";
                    }

                    var td_tag = document.createElement("td");
                    td_tag.setAttribute("id", "tdRoom_" + i + hotelCd);

                    var room_inner;
                    room_inner = "1部屋目：";
                    room_inner += room_contents[0].RoomTypeName;

                    if (room_contents.length > 1) {
                        room_inner += "&nbsp;&nbsp;&nbsp;2部屋目：";
                        room_inner += room_contents[1].RoomTypeName;
                    }
                    if (room_contents.length > 2) {
                        room_inner += "&nbsp;&nbsp;&nbsp;3部屋目：";
                        room_inner += room_contents[2].RoomTypeName;
                    }

                    td_tag.innerHTML = room_inner;
                    tr4_tag.appendChild(td_tag);
                    document.getElementById("tdRoom_" + i + hotelCd).colSpan = 8;

                }
            }
        } catch (e) {
            pegasusDisplay = 0;
        }

        Img_Pegasus_Search.style.display = "none";

        if (pegasusDisplay == 0) {
            Pegasus_ErrMsg.style.display = "block";
        } else {
            tr_search.style.display = "none";
        }
    }

    /**
    * 金額表示（カンマ編集）
    **/
    function addComma(price, dec) {
        var decimalPoint = price.lastIndexOf('.');
        var destStr;
        var decimals;
        if (decimalPoint == -1) {
            destStr = price;
            decimals = "";
        } else {
            destStr = price.substring(0, decimalPoint);
            decimals = price.substring(decimalPoint + 1, price.length);
        }
        
        var tmpStr;
        while (destStr != (tmpStr = destStr.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2"))) {
            destStr = tmpStr;
        }

        if (dec) {
            if (dec > decimals.length) {
                for (var i = 0; i < dec - decimals.length; i++) {
                    decimals += "0";
                }
            } else {
                decimals = decimals.substring(0, dec);
            }
            destStr += "." + decimals;
        }
        
        return destStr;
    }

}
