﻿/// <reference path="jquery-vsdoc2.js" />
var site = {};

site.page = (function($) {
    /// <summary>
    /// Page functions.
    /// </summary>

    // self object.
    var that = {};

    // Hide side column if it is empty
    var initHideSide = function() {
        if ($("#side").length) {
            varHtml = $("#side").html();
            // Remove whitespace from variable
            if (varHtml.replace(/^\s*|\s*$/g, '') == "") {
                $("#side").css("display", "none");
            }
        }
    };

    // Make fancy buttons
    var initButtons = function() {
        $("input.largeBtn").wrapperEffects({ wrapperClass: "largeButton" });
        $("a.largeBtn").wrapperEffects({ wrapperClass: "largeButton" });
        $("input.smallBtn").wrapperEffects({ wrapperClass: "smallButton" });
        $("a.smallBtn").wrapperEffects({ wrapperClass: "smallButton" });
        $("input.largeBtnInactivated").wrapperEffects({ wrapperClass: "largeButtonInactivated" });
        $("a.largeBtnInactivated").wrapperEffects({ wrapperClass: "largeButtonInactivated" });
        $("#navcms a").wrapperEffects({ wrapperClass: "nav" });
        $("a.level1.login").wrapperEffects({ wrapperClass: "nav" });
        
        $("#aspnetForm").height($("#page").height() + "px");
    };

    /// <summary>
    /// Set login link to show lightbox
    /// </summary>
    initLoginLightbox = function() {

        $('a.loginlightbox').click(function() {
            showLoginLightbox(); return false;
            return false;
        });
    }

    /// <summary>
    /// Show overlay (created in lightbox.js) and login lightbox
    /// </summary>
    showLoginLightbox = function() {

        var objOverlay = document.getElementById('overlay');
        var objLoginLightbox = document.getElementById('loginlightbox');
        var objLoadingImage = document.getElementById('loadingImage');
        var objCloseButton = document.getElementById('closeButton');

        var arrayPageSize = getPageSize();
        var arrayPageScroll = getPageScroll();

        // Set height of overlay to take up whole page and show
        objOverlay.style.height = (arrayPageSize[1] + 'px');
        objOverlay.style.display = 'block';

        // Hide login lightbox when clicking close button or overlay
        objOverlay.onclick = function() { Site.hideLoginLightbox(); return false; }

        // Hide loading image and show login light box
        if (objLoadingImage) { objLoadingImage.style.display = 'none'; }
        objLoginLightbox.style.display = 'block';
    }

    /// <summary>
    /// Hide overlay (created in lightbox.js) and login lightbox
    /// </summary>
    hideLoginLightbox = function() {

        var objOverlay = document.getElementById('overlay');
        var objLightbox = document.getElementById('lightbox');
        var objLoginLightbox = document.getElementById('loginlightbox');

        objOverlay.style.display = 'none';
        objLightbox.style.display = 'none';
        objLoginLightbox.style.display = 'none';

    }




    // public interface.
    that.init = function() {
        /// <summary>
        ///	Initialises the page object. Executes initFramework().
        /// </summary>
        initHideSide();
        initButtons();
        initLoginLightbox();
    };

    return that;
})(jQuery);

