﻿ThailandHotel = {
    rooms: ['room1', 'room2', 'room3', 'room4', 'room5', 'room6', 'room7', 'room8'],
    adults: ['drpAdult1', 'drpAdult2', 'drpAdult3', 'drpAdult4', 'drpAdult5', 'drpAdult6', 'drpAdult7', 'drpAdult8'],
    childs: ['drpChild1', 'drpChild2', 'drpChild3', 'drpChild4', 'drpChild5', 'drpChild6', 'drpChild7', 'drpChild8'],
    room: 'drpRoom',
    noadults: 1,
    nochilds:1,
    noRoom: 1,
    hdnRoomId: '',
    hdnAdultId: '',
    hdnChildId: '',
    onLoad: '',
    isCallback:false,
    $: function () {
        var elements = new Array();
        for (var i = 0; i < arguments.length; i++) {
            var element = arguments[i];
            if (typeof element == 'string')
                element = document.getElementById(element);

            if (arguments.length == 1)
                return element;

            elements.push(element);
        }
        return elements;
    },
    callback:function(){
        /*if(ThailandHotel.isCallback){
            ThailandHotel.room = ThailandHotel.$(ThailandHotel.room);
            if (ThailandHotel.onLoad) {
                ThailandHotel.onLoad();
            }
            
            ThailandHotel.assignDefaultValue();
            ThailandHotel.createRoomsAdult();
            ThailandHotel.room.onchange = ThailandHotel.onChange;
            alert(ThailandHotel.room.onclick);
            for (var a = 0; a < 8; a++) {
                var ob = ThailandHotel.$(ThailandHotel.adults[a]);
                ob.onclick = function () { ThailandHotel.assignValue(2); }
                ob = ThailandHotel.$(ThailandHotel.childs[a]);
                ob.onclick = function () { ThailandHotel.assignValue(3); }
            }
        }*/
    },
    init: function () {
        
        ThailandHotel.room = ThailandHotel.$(ThailandHotel.room);
        if (ThailandHotel.onLoad) {
            ThailandHotel.onLoad();
        }
        ThailandHotel.noRoom = ThailandHotel.room.options[ThailandHotel.room.selectedIndex].value;
        ThailandHotel.assignDefaultValue();
        ThailandHotel.createRoomsAdult();
        ThailandHotel.room.onchange = ThailandHotel.onChange;

        for (var a = 0; a < 8; a++) {
            var ob = ThailandHotel.$(ThailandHotel.adults[a]);
            ob.onclick = function () { ThailandHotel.assignValue(2); }
            ob = ThailandHotel.$(ThailandHotel.childs[a]);
            ob.onclick = function () { ThailandHotel.assignValue(3); }
        }
    },
    assignDefaultValue: function () {
        var adlt = this.$(this.hdnAdultId).value;
        var chld = this.$(this.hdnChildId).value;
        //alert(chld);
        for (var i = 0; i < this.noRoom; i++) {
            var ob = this.$(this.adults[i]);
            ob.selectedIndex = parseInt(adlt.charAt(i)) - 1;

            var ob = this.$(this.childs[i]);
            ob.selectedIndex = parseInt(chld.charAt(i));
        }
    },
    createRoomsAdult: function () {
        for (var i = 0; i < 8; i++) {
            if (i < this.noRoom) {
                this.$(this.rooms[i]).style.display = 'block';
            }
            else {
                this.$(this.rooms[i]).style.display = 'none';
            }
        }
        ThailandHotel.assignValue(1);
    },
    assignValue: function (i) {
        this.$(this.hdnRoomId).value = this.noRoom;

        this.$(this.hdnAdultId).value = '';
        for (var a = 0; a < this.noRoom; a++) {
            var adlt = this.$(this.adults[a]);
            this.$(this.hdnAdultId).value += adlt.options[adlt.selectedIndex].value;
        }

        this.$(this.hdnChildId).value = '';
        for (var a = 0; a < this.noRoom; a++) {
            var chld = this.$(this.childs[a]);
            this.$(this.hdnChildId).value += chld.options[chld.selectedIndex].value;
        }
    },
    onChange: function () {
        ThailandHotel.noRoom = ThailandHotel.room.options[ThailandHotel.room.selectedIndex].value;
        ThailandHotel.showTitle();
        ThailandHotel.createRoomsAdult();
    },
    showTitle:function(){
        if(ThailandHotel.noRoom>1){
            ThailandHotel.$('roomtitle').innerHTML = 'Room 1';
        }
        else{
            ThailandHotel.$('roomtitle').innerHTML = '';
        }
    },
    addLoadEvent: function (func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        }
        else {
            window.onload = function () {
                oldonload();
                func();
            }
        }
    }
}
        ThailandHotel.addLoadEvent(ThailandHotel.init);