﻿// Travelling Party functions

function OpenEditParty(id) {
    document.getElementById(id).style.display = "block";
}

function BuildRoom(NumberOfRooms, Prefix) {
    var Rooms = new Array(4);

    Rooms[1] = document.getElementById(Prefix + "Room1");
    Rooms[2] = document.getElementById(Prefix + "Room2");
    Rooms[3] = document.getElementById(Prefix + "Room3");
    Rooms[4] = document.getElementById(Prefix + "Room4");

    Rooms[1].style.display = 'none';
    Rooms[2].style.display = 'none';
    Rooms[3].style.display = 'none';
    Rooms[4].style.display = 'none';

    for (var x = 1; x <= NumberOfRooms; x++)
        Rooms[x].style.display = '';
}

function BuildChildAges(Suffix, NumberOfChildren, Prefix) {
    var AgeRow = document.getElementById(Prefix + "Ages" + Suffix);
    var SelectHolder = document.getElementById(Prefix + "ChildrenAges" + Suffix);
    var MaxAge = 15;

    if (NumberOfChildren == 0)
        AgeRow.style.display = 'none';
    else
        AgeRow.style.display = '';

    SelectHolder.innerHTML = "";

    var objSelectChildAge;
    var objAgeOption;

    for (var x = 1; x <= NumberOfChildren; x++) {

        objSelectChildAge = document.createElement('select');
        objSelectChildAge.style.width = "50px";
        objSelectChildAge.id = Prefix + "Age" + Suffix + "Child" + x;
        objAgeOption = document.createElement('option');
        objAgeOption.text = "-";
        objAgeOption.value = "-";
        try {
            objSelectChildAge.add(objAgeOption, null); // standards compliant
        }
        catch (ex) {
            objSelectChildAge.add(objAgeOption); // IE only
        }

        for (var y = 0; y <= MaxAge; y++) {
            objAgeOption = document.createElement('option');
            objAgeOption.text = y;
            objAgeOption.value = y;
            try {
                objSelectChildAge.add(objAgeOption, null); // standards compliant
            }
            catch (ex) {
                objSelectChildAge.add(objAgeOption); // IE only
            }
        }

        SelectHolder.appendChild(objSelectChildAge);
    }
}

function SaveParty(Prefix) {
    var objRooms = document.getElementById(Prefix + "Rooms");
    var strPartyCode = "";
    var strPartyDetails = "";

    var Adults;
    var Children;
    var ChildAge;

    for (var x = 1; x <= objRooms.value; x++) {
        Adults = document.getElementById(Prefix + "AdultsRoom" + x).value;
        Children = document.getElementById(Prefix + "ChildrenRoom" + x).value;

        if (x != 1) {
            strPartyCode += "|";
            strPartyDetails += "<br />";
        }
        strPartyCode += "R:" + x + "$";
        strPartyCode += "A:" + Adults + "$";
        strPartyCode += "C:" + Children + "$";
        strPartyCode += "CA:";
        strPartyDetails += "<strong>" + document.getElementById("jsRoom").innerHTML + " " + x + ":</strong> ";
        strPartyDetails += Adults + " " + document.getElementById("jsAdults").innerHTML + ", ";

        var strChildAges = '';

        if (Children > 0) {
            strChildAges += '(' + document.getElementById("jsAges").innerHTML + ': ';
            for (var y = 1; y <= Children; y++) {
                ChildAge = document.getElementById(Prefix + "AgeRoom" + x + "Child" + y).value;
                if (ChildAge == "-") {
                    alert(document.getElementById("jsPleaseEnterAges").innerHTML);
                    return false;
                }
                if (y != 1) {
                    strPartyCode += ",";
                    strChildAges += ", ";
                }
                strPartyCode += ChildAge;
                strChildAges += ChildAge;
            }
            strChildAges += ")";

            strPartyDetails += Children + " " + document.getElementById("jsChildren").innerHTML + " " + strChildAges;
        }
        else {
            strPartyDetails += Children + ' ' + document.getElementById("jsChildren").innerHTML;
        }
    }



    document.getElementById(Prefix + "TravellingParty").innerHTML = strPartyDetails;
    if (document.getElementById(Prefix + "EditParty") != null) {
        document.getElementById(Prefix + "EditParty").style.display = "none";
    }

    if (Prefix != '') {
        DecodeParty(strPartyCode, '');
    } else {
        //alert(strPartyCode);
        document.getElementById(strPartyCodeID).value = strPartyCode;
        return true;
    }
}

function DecodeParty(Code, Prefix) {
    var arrRooms = Code.split("|");
    var arrRoomItems = new Array();
    var Rooms;
    var Adults;
    var Children;
    var arrChildrenAges = new Array();

    document.getElementById(Prefix + "Rooms").value = arrRooms.length;
    BuildRoom(arrRooms.length, Prefix);

    for (var x = 0; x < arrRooms.length; x++) {
        arrRoomItems = arrRooms[x].split("$");
        Rooms = arrRoomItems[0].split(":")[1];
        Adults = arrRoomItems[1].split(":")[1];
        Children = arrRoomItems[2].split(":")[1];

        document.getElementById(Prefix + "AdultsRoom" + (x + 1)).value = Adults;
        document.getElementById(Prefix + "ChildrenRoom" + (x + 1)).value = Children;

        BuildChildAges('Room' + Rooms, Children, Prefix);
        arrChildrenAges = arrRoomItems[3].split(":")[1].split(",");
        if (Children > 0) {
            for (var y = 0; y < Children; y++) {
                document.getElementById(Prefix + "AgeRoom" + (x + 1) + "Child" + (y + 1)).value = arrChildrenAges[y];
            }
        }
    }

    SaveParty(Prefix);
}
