﻿

//特集IDの設定及び、サーバ側処理のコール
function SetSpecialIdAndClickTargetMonthLink(selectedSpecialID, targetID) {

    //HideAllMsgBoard
    execHideAllMsgBoard();

    //書式を書換
    ChangeVisible(targetID);

    //特集IDの設定
    document.getElementById("ctl00_contentMain_LowestAmountCalendarSpecialUserControl1_hiddenSpecialId").value = selectedSpecialID;

    //サーバ側処理の呼出
    var atr;
    //最大6ヶ月
    for (var imonth = 1; imonth <= 7; imonth++) {

        var targetID = "ctl00_contentMain_LowestAmountCalendarSpecialUserControl1_TriesteLinkButtonSelectMonth" + imonth;
        if (document.getElementById(targetID) == null) {
            continue;
        }
        
        atr = document.getElementById(targetID).getAttribute("disabled");
        if (atr == "disabled" || atr == true) {
            CallSeverTransaction(imonth);
            break;
        }
    }
}

//サーバ側処理のコールを行う。
function CallSeverTransaction(monthNumber) {
    __doPostBack("ctl00$contentMain$LowestAmountCalendarSpecialUserControl1$TriesteLinkButtonSelectMonth" + monthNumber, '');
}

/// <summary>
/// JavaScriptでCSSを操作し表示・非表示を切替える。
/// </summary>
/// <param name="targetID">処理対象のID</param>
/// <returns>
/// なし
/// </returns>
function ChangeVisible(targetID) {
    switch (targetID) {
        case "all_area":
            document.getElementById("all_area").className = "noshowElement";
            document.getElementById("all_area_clicked").className = "showElement ClickedFont";
            document.getElementById("official_hotel").className = "showElement";
            document.getElementById("official_hotel_clicked").className = "noshowElement";
            document.getElementById("partner").className = "showElement";
            document.getElementById("partner_clicked").className = "noshowElement";
            break;
        case "official_hotel":
            document.getElementById("all_area").className = "showElement";
            document.getElementById("all_area_clicked").className = "noshowElement";
            document.getElementById("official_hotel").className = "noshowElement";
            document.getElementById("official_hotel_clicked").className = "showElement ClickedFont";
            document.getElementById("partner").className = "showElement";
            document.getElementById("partner_clicked").className = "noshowElement";
            break;
        case "partner":
            document.getElementById("all_area").className = "showElement";
            document.getElementById("all_area_clicked").className = "noshowElement";
            document.getElementById("official_hotel").className = "showElement";
            document.getElementById("official_hotel_clicked").className = "noshowElement";
            document.getElementById("partner").className = "noshowElement";
            document.getElementById("partner_clicked").className = "showElement ClickedFont";
            break;
        default:
            break;
    }
}



/// <summary>
/// 特集ID項目のうち、選択されている特集IDをhiddenにセットする。
/// </summary>
/// <param name="targetID">処理対象のID</param>
/// <returns>
/// なし
/// </returns>
function SetSpecialHiddenValue() {

	//判定用CSS名
	var strWk = "";

	//判定用に取得したCSS名称
	var getCss = "";

	//全て（ディズニーリゾート周辺ホテル）
	strWk = document.getElementById("all_area_clicked").className;
    getCss = String(strWk).substring(0,11);
	if ( getCss == "showElement")
	{
	    document.getElementById("ctl00_contentMain_LowestAmountCalendarSpecialUserControl1_hiddenSpecialId").value = "159";
		return;
	}
	//オフィシャルホテル オフィシャルホテル
	strWk = document.getElementById("official_hotel_clicked").className;
    getCss = String(strWk).substring(0,11);
	if ( getCss == "showElement")
	{
	    document.getElementById("ctl00_contentMain_LowestAmountCalendarSpecialUserControl1_hiddenSpecialId").value = "157";
		return;
	}
	//パートナー＆グットネイバーホテル パートナー＆グットネイバーホテル
	strWk = document.getElementById("partner_clicked").className;
    getCss = String(strWk).substring(0,11);
	if ( getCss == "showElement")
	{
	    document.getElementById("ctl00_contentMain_LowestAmountCalendarSpecialUserControl1_hiddenSpecialId").value = "158";
		return;
	}

}


/// <summary>
/// 対象ホテルの選択値（特集ID)をGETパラメータに反映させる。
/// </summary>
/// <param name="sid">特集ID</param>
/// <param name="pageName">画面名</param>
/// <returns>
/// なし
/// </returns>
function ChangeAccessURL(sid,pageName) {
    var getUrl = "",obj;
    if (pageName == "DisneySearchAccom"){
        //プラン・部屋ごとに表示
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_TriesteHyperLinkPlanRoomEachList");      
        ChangeTargetURL(sid,obj);
        
        //人気順
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_TriesteHyperLinkPopularityOrderSort");      
        ChangeTargetURL(sid,obj);
        
        //安い順
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_TriesteHyperLinkMinOrderSort");      
        ChangeTargetURL(sid,obj);
        
        //高い順
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_TriesteHyperLinkMaxOrderSort");
        ChangeTargetURL(sid,obj);
        
        //ページング（上部）
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_PageIndexUserControlForeside_IndexLinks");
		if(obj != null){
	        var nodeList = obj.getElementsByTagName("a");
	        for (var i = 0; i < nodeList.length; i++) {
	            ChangeTargetURL(sid,nodeList[i]); 
	        }
		}
        //ページング（下部）
        obj = document.getElementById("ctl00_contentMain_AccommodationEachListUserControl_PageIndexUserControlDownside_IndexLinks");
		if(obj != null){
	        var nodeList = obj.getElementsByTagName("a");
	        for (var i = 0; i < nodeList.length; i++) {
	            ChangeTargetURL(sid,nodeList[i]); 
	        }
		}
    }else if(pageName == "DisneySearchPlan"){
        //ホテル・旅館ごとに表示
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_TriesteHyperLinkDispAccommodationEach");
        ChangeTargetURL(sid,obj);
        
        //新着順
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_TriesteHyperLinkNewArrivalOrderSort");      
        ChangeTargetURL(sid,obj);

        //安い順
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_TriesteHyperLinkMinOrderSort");      
        ChangeTargetURL(sid,obj);
        
        //高い順
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_TriesteHyperLinkMaxOrderSort");      
        ChangeTargetURL(sid,obj);
                
        //ページング（上部）
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_PageIndexUserControlForeside_IndexLinks");
		if(obj != null){
	        var nodeList = obj.getElementsByTagName("a");
	        for (var i = 0; i < nodeList.length; i++) {
	            ChangeTargetURL(sid,nodeList[i]); 
	        }
		}
        //ページング（下部）
        obj = document.getElementById("ctl00_contentMain_PlanRoomEachListUserControl_PageIndexUserControlDownside_IndexLinks");
		if(obj != null){
	        var nodeList = obj.getElementsByTagName("a");
	        for (var i = 0; i < nodeList.length; i++) {
	            ChangeTargetURL(sid,nodeList[i]); 
	        }
		}
    }else{
    
    }
}

/// <summary>
/// URLの中の特集IDを書換え要素に設定する。
/// ※特集ID・Objectのみ
/// </summary>
/// <param name="sid">特集ID</param>
/// <param name="targetUrl">対象URL</param>
/// <param name="対象要素">対象URL</param>
/// <returns>
/// なし
/// </returns>
function ChangeTargetURL(sid,obj) {
	if(obj == null){
        return;
    }
	else if (obj.href == "") {
        return;
	}

    //リテラル定義
    var constSpecialId = "sid=";
    var constAnd = "&";
    var startPoint = obj.href.indexOf(constSpecialId);
    var endPoint = obj.href.indexOf(constAnd,startPoint);
    
    //左右のURLを取得
    var leftUrl = obj.href.substring(0,startPoint);
    var rightUrl = obj.href.substring(endPoint + 1,obj.href.length);

    //要素に置換後のURLを設定
    obj.href = leftUrl + constSpecialId + sid + constAnd + rightUrl;
}
