//page load function
$(document).ready(function() {
    //load custom radio buttons and select boxes
    $("select").selectbox();
    $('input[type=radio]').checkbox({
        empty: '/images/spacer.gif'
    });
    $('input[type=checkbox]').checkbox({
        empty: '/images/spacer.gif'
    });

}
);

function slideHide(slide, hide, tips) {
    slideHide(slide, hide, tips, null);

}

function slideHide(slide, hide, tips, focus) {
    $(hide).slideUp(300, function() {
        $(slide).slideDown(800, function() {

            if (focus != null)
                document.getElementById(focus).focus();


            return false;
        });
    });

}


function showModal() {
    $('div#modal-bg').addClass("modal-bg");
};


function closeModal() {
    closeModal(false);
};

function closeModal(forceClose) {
    if (!forceClose) {


        if (typeof Page_IsValid != "undefined") {
            if (!Page_IsValid)
                return;
        }
    }
    $('div#modal-bg').removeClass("modal-bg");

};

function renderControls() {
    $("select").selectbox();
    $('input[type=radio]').checkbox({
        empty: '/images/spacer.gif'
    });
    $('input[type=checkbox]').checkbox({
        empty: '/images/spacer.gif'
    });
}

function floorCents(amount) {
    return Math.floor(amount * 100) / 100;
}

function createJsonParams(dataItems) {
    var jsonValue = "";

    for (var index in dataItems) {
        if (jsonValue.length > 0)
            jsonValue += ",";

        var dataItemValue = dataItems[index];

        jsonValue += index + ":"
        jsonValue += JSON.stringify(dataItemValue);
    }

    return "{" + jsonValue + "}";
}

function addProductToSession(tourDateID, buildingID, roomTypeID, peopleSharing) {
    var data = { "tourDateID": tourDateID, "buildingID": buildingID, "roomTypeID": roomTypeID, "peopleSharing": peopleSharing };

    $.ajax({
        url: "/User/Bookings/BuildingWebService.asmx/AddProductToSession",
        data: createJsonParams(data),
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            window.location = '/User/Bookings/SelectRooms.aspx';
        },
        error: function(data) {
            window.location = '/Error.aspx';
        }
    });
}

function callService(service, method, data, success) {
    $.ajax({
        url: "/User/Bookings/" + service + "WebService.asmx/" + method,
        data: createJsonParams(data),
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            success(result);
        },
        error: function(data) {
            window.location = '/Error.aspx';
        },
        dataFilter: function(data) {
            var msg = JSON.parse(data);

            if (msg.hasOwnProperty('d'))
                return msg.d;

            return msg;
        }
    });
}
