﻿/**
 * knt.co.jp - common script
 *
 * Copyright (c) All rights reserved by KNT Co., Ltd.
 *
 */

// Destinationと年齢のチェックを行う
// true:正常　false:異常
function chkSearch(disMsg, ageMsg) {
    if (!chkDestination(disMsg)) return false;
    if (!chkChildrenAge(ageMsg)) return false;

	return true;
}

// Destinationチェック
// true:正常　false:異常
function chkDestination(disMsg) {
    var destination = "";

    if (document.all) {
		destination = document.all('TxtDestination').value;
	} else {
		destination = document.getElementById('TxtDestination').value;
	}
	
	// 入力されていない場合
	if (destination == null || trim(destination) == "") {
        alert(disMsg);
        return false;
	}
	
	return true;
}

//HotelNameチェック
// true:正常　false:異常
function chkHotelName(disMsg){
    var HotelName = "";

    if (document.all) {
		HotelName = document.all('TxtHotelName').value;
	} else {
		HotelName = document.getElementById('TxtHotelName').value;
	}
	
	// 入力されていない場合
	if (HotelName == null || trim(HotelName) == "") {
        alert(disMsg);
        return false;
	}
	
	return true;
}

// カート用
function cart(url, cartMsg){
    var cartNo;
	if (document.all) {
		cartNo = trim(document.all('txtCartNo').value);
	} else {
		cartNo = trim(document.getElementById('txtCartNo').value);
	}
	
	// カート番号が空の場
	if (cartNo == "") {
	    alert(cartMsg);
	    
	} else {
        // クッキーにセット
	    setCookie(cartNo)

        // 現在のページをリロード
	    location.reload(url);
	}

    return false;
}

// カート番号をクッキーに追加
function setCookie(cartId){
	// クッキーが利用可能かどうか
	if(!navigator.cookieEnabled){    
		alert("The cookie cannot be used.");
		return;
	}
	
	//現在の日付を取得
	sday = new Date();

	// クッキー情報を読み込む
	scookie = document.cookie + ";";

	//書き込み
    document.cookie = "MyCartID=" + cartId + ";";
}

// 前後のスペース（半角と全角）を削除
function trim(value){
	// 引数の文字列の前後のスペース（半角と全角）を削除
	return String(value).replace(/^[ 　]*/gi, "").replace(/[ 　]*$/gi, "");
}

// チェックイン、チェックアウト日入力欄の必須入力チェック
// true:正常　false:異常
function chkDate(obj, message){

    if(obj.value.length == 0 || obj.value == "mm/dd/yyyy"){
        alert(message);    
        return false;
    }

    return true;
}


// Rooms表示変更切り替え
// rooms    - 室数
// maxRooms - 最大室数
function displayRooms(rooms, maxRooms){

    for(i = 2;i<=maxRooms;i++){
        if(i<=rooms){
            document.getElementById("room" + i).style.display = "";
            
            // 子供年齢入力欄の表示判定
            if(document.getElementById("ScrRoom" + i + "Children").value > 0){
                document.getElementById("roomAgesId" + i).style.display = "";
            }
        }else{
            document.getElementById("room" + i).style.display = "none";
            
            // 子供年齢入力欄の表示判定
            document.getElementById("roomAgesId" + i).style.display = "none";
        }
    } 
    
    // 子供年齢表示エリア表示判定
    var blDispChdArea = false;

    for(i = 1;i<=rooms;i++){
        if(document.getElementById("ScrRoom" + i + "Children").value > 0){
            blDispChdArea = true;
        }
    }
    
    if(document.getElementById("childAgeAreaId") != null){
        if(blDispChdArea + '' == 'true'){
            document.getElementById("childAgeAreaId").style.display = "";
        }else{
            document.getElementById("childAgeAreaId").style.display = "none";
        }    
    }

}

// 子供年齢リストボックス表示切り替え
// no       - 対象RoomNo　
// childNum - 子供人数
// maxChild - 子供人数上限値
// crtRooms - 現在室数
function displayChildAgeList(no, childNum, maxChild, crtRooms){

    if(document.getElementsByName("childAgeId" + no).length == 'undefined'){
        
        if(childNum == 0){
            document.getElementById("childAgeId" + no).style.display = "none";
        }else{
            document.getElementById("childAgeId" + no).style.display = "";
        }
    }else{
    
        for(i = 0;i<maxChild;i++){
            if(i<childNum){
                document.getElementsByName("childAgeId" + no).item(i).style.display = "";
            }else{
                document.getElementsByName("childAgeId" + no).item(i).style.display = "none";
            }
        }
    }

    // 対象部屋の年齢表示エリアの表示判定
    if(childNum == 0){
        document.getElementById("roomAgesId" + no).style.display = "none";
    }else{
        document.getElementById("roomAgesId" + no).style.display = "";
    }
    
    var blDispChdArea = false;
    
    // 子供年齢表示エリア表示判定
    if(document.getElementById("childAgeAreaId") != null){
        for(i = 1;i<=crtRooms;i++){
            if(document.getElementById("ScrRoom" + i + "Children").value > 0){
                blDispChdArea = true;
            }
        }
        
        if(blDispChdArea + '' == 'true'){
            document.getElementById("childAgeAreaId").style.display = "";
        }else{
            document.getElementById("childAgeAreaId").style.display = "none";
        } 
    }
       
}

// 年齢情報連結
// roomNo - 更新対象の部屋番号
function combineAgesInfo(roomNo){
    
    var obj = document.getElementById("ScrRoom" + roomNo + "ChildAge");
    var srcAges = document.getElementsByName("SelectRoom" + roomNo + "ChildAge");
    var crtChildNum = document.getElementById("ScrRoom" + roomNo + "Children").value;
   
    if(srcAges.length == 'undefined'){
        if(srcAges.value == -1){
            obj.value = "";
        }else{
            obj.value = srcAges.value;
        }
    }else{
        var combineAges = srcAges.item(0).value;
        
        if(combineAges == -1){
            obj.value = "";
            return;
        }else{
            
            for(i = 1;i<crtChildNum;i++){
                if(srcAges.item(i).value == -1){
                    combineAges = ""
                    break;
                }
                combineAges = combineAges + "," + srcAges.item(i).value;
            }
            obj.value = combineAges;
        }
    }
    
}
// 子供年齢リストボックス未選択チェック
// errMsg - エラーメッセージ
// return true - チェックOK、 false - 年齢未選択あり
function chkChildrenAge(errMsg){

    // 現在室数確認
    if(document.getElementById("ScrRooms") == null){
        // 室条件を表示していないパターンの場合は無視
        return true;
    }else{
        var roomNum = document.getElementById("ScrRooms").value;
        
        for(i = 1;i <= roomNum; i++){
            var objAges = document.getElementsByName("SelectRoom" + i + "ChildAge");
            
            if(objAges.length == 'undefined'){
               if(objAges.item(j).style.display == "none"){
                  break;
               }else{
                  if(objAges.item(j).value == -1){
                     alert(errMsg);
                     return false;
                  }
               }
            }else{
                for(j = 0; j < objAges.length ;j++){

                    if(document.getElementsByName("childAgeId" + i).item(j).style.display == "none"){
                        break;
                    }else{
                        if(objAges.item(j).value == -1){
                            alert(errMsg);
                            return false;
                        }
                    }
                }
            }
        }
    }
    
    return true;
}


// 年齢情報確認(テスト用)
function dispAgesInfo(maxRooms){

    for(i = 0;i<maxRooms;i++){
        alert("RoomNo:" + (i + 1) + " - " + document.forms[0].all("ScrRoom" + (i + 1) + "ChildAge").value);    
    }

}
