/*===========================================================================
   Common JavaScript Functions.

   Dominik Deak
  ===========================================================================*/

/*---------------------------------------------------------------------------
   Prevents the .content area from getting too wide by scaling its padding
   accordingly.

   Width : Specifies the maximum width in pixels.
  ---------------------------------------------------------------------------*/
function Content_MaxWidth(MaxWidth)
   {
   if (navigator.userAgent && (navigator.userAgent.indexOf("Safari") != -1)) {return;} //Safari is buggy for now
   
   if (MaxWidth <= 0) {return;}

   var Div = document.getElementsByTagName("div");
   for (var D = 0; D < Div.length; D++)
      {
      if (Div[D].className == "content")
         {
         if (Div[D].offsetWidth > MaxWidth)
            {
            var t = (Div[D].offsetWidth - MaxWidth) >> 1;
            Div[D].style.paddingLeft  = t + "px";
            Div[D].style.paddingRight = t + "px";
            }
         }
      }
    }

/*---------------------------------------------------------------------------
   Checks tables that has an "image" class name, and scales all images in the
   table cells if the table width blows out the parent width.
   
   ParentPadding : Left and right padding for the parent element.
   TableMargin   : Left and right margin for the table.
  ---------------------------------------------------------------------------*/
function Content_ScaleImages(ParentPadding, TableMargin)
   {
   var Table = document.getElementsByTagName("table");
   for (var T = 0; T < Table.length; T++)
      {
      if (Table[T].className == "image")
         {
         if ((Table[T].style.marginLeft > 0) || (Table[T].style.marginRight > 0)) 
            {TableMargin = Table[T].style.marginLeft + Table[T].style.marginRight;}
         
         if ((Table[T].parentNode.style.paddingLeft > 0) || (Table[T].parentNode.style.paddingRight > 0)) 
            {ParentPadding = Table[T].parentNode.style.paddingLeft + Table[T].parentNode.style.paddingRight;}

         var TableWidth  = Table[T].offsetWidth + TableMargin;
         var ParentWidth = Table[T].parentNode.clientWidth - ParentPadding;
  
         if (TableWidth > ParentWidth)
            {
            var t = (TableWidth != 0) ? ParentWidth / TableWidth : 1;
            if (t <= 0) {t = 1;}
            var Img = Table[T].getElementsByTagName("img");
            for (var I = 0; I < Img.length; I++) {Img[I].width *= t;}
            }
         }
      }
   }

/*---------------------------------------------------------------------------
   Onload entry point.

   PrintMode: If set, printable layout is enabled.
  ---------------------------------------------------------------------------*/
function main(PrintMode)
   {
   if (!PrintMode) {Content_MaxWidth(1280);}
   Content_ScaleImages(56, 28);
   }