﻿//global objects
var timer;

//
// Initialises the web page (called in onload event of body element).
// 
function InitialisePage()
{
    UpdateDateTime(); 
    InitialiseTimer(); 
    ReflectDocumentHeight();
}

//
// Initialises the timer (handlers is added and the timer is started).
//
function InitialiseTimer()
{
    timer = new Timer( 1000 );
    
    timer.AddHandler( 1000, function(){ UpdateDateTime(); } ); 
    timer.Start();
}

//
// Updates the date & time.
//
function UpdateDateTime()
{
    var dateTime = document.getElementById("idDateTime");
    var currentDate = new Date();

    var dateTimeString = ZeroPadding(currentDate.getDate(),2) + "-" + ZeroPadding(currentDate.getMonth() + 1,2) + "-" + currentDate.getFullYear() + " ";
    dateTimeString    += ZeroPadding(currentDate.getHours(),2) + ":" + ZeroPadding(currentDate.getMinutes(),2) + ":" + ZeroPadding(currentDate.getSeconds(),2);

    dateTime.innerText = dateTimeString;
}

//
// Depending on the document's height the controls are resized accordingly.
// This method must be called as a response to the onload and onresize events.
// 
//
// Remarks:
//   When the height of an elemement is defined in an external CSS file it can't
//   be read by using "element.style.height"; it can be done by using
//   element.offsetHeight!
// 
function ReflectDocumentHeight()
{            
    //get document height
    var documentHeight = document.documentElement.clientHeight;
    
    //get reference to all height-related elements
    var mainTable = document.getElementById( "idMainTable" );            
    var topHeader = document.getElementById( "idTopHeader" );
    var header = document.getElementById( "idHeader" );
    var contents = document.getElementById( "idContents" );
    var footer = document.getElementById( "idFooter" );
       
    //get relevant heights
    var heightTopHeader = topHeader.offsetHeight;
    var heightHeader = header.offsetHeight;
    var heightFooter = footer.offsetHeight;
    var heightSum = heightTopHeader + heightHeader + heightFooter;

    //calculate heights
    mainTable.style.height = documentHeight;                 
    
    if ( documentHeight - heightSum > 0 )
    {
        contents.style.height = documentHeight - heightSum;          
    }
}
