//******************************************************************************/
//*                                                                            */
//*         Internet Computer Software - Java Script library.                  */
//*                                                                            */
//*         Program:                     ObjectSizePosition.                   */
//*         Programmer :                 John  S.  Parry.                      */
//*         Date :                       October 2008.                         */
//*         Language :                   JavaScript.                           */
//*                                                                            */
//*         Copyright (C) 2008,   Internet Computer Software Pty Ltd.          */
//*                               PO Box 279                                   */
//*                               Sandy Bay  7006                              */
//*                               Tasmania  Australia                          */
//*                                                                            */
//******************************************************************************/
//*                                                                            */
//* This file contains the javascript functions to work out the size and       */
//* position of web objects.                                                   */
//*                                                                            */
//* GetWindowSize works out the top left and bottom right corners of the       */
//* current window.  The information is returned as an array as follows,       */
//*     WinSize [ 0 ] - left edge                                              */
//*     WinSize [ 1 ] - top edge                                               */
//*     WinSize [ 2 ] - right edge                                             */
//*     WinSize [ 3 ] - bottom edge                                            */
//*                                                                            */
//* GetElementPos works out the top left and bottom right corners of the       */
//* specified element. The information is returned as an array as follows,     */
//*     Position [ 0 ] - left edge                                             */
//*     Position [ 1 ] - top edge                                              */
//*     Position [ 2 ] - right edge                                            */
//*     Position [ 3 ] - bottom edge                                           */
//*                                                                            */
//******************************************************************************/

  function GetWindowSize ( )
    {
      var WinWidth = 0 ;
      var WinHeight = 0 ;
      var WinLeftEdge = 0 ;
      var WinTopEdge = 0 ;

      if ( typeof ( window.innerWidth ) == "number" )
        { WinWidth = window.innerWidth ;
          WinHeight = window.innerHeight ;
        }
      else
        { if (( document.documentElement ) && (( document.documentElement.clientWidth ) || ( document.documentElement.clientHeight )))
            { WinWidth = document.documentElement.clientWidth ;
              WinHeight = document.documentElement.clientHeight ;
            }
          else
            { if (( document.body ) && (( document.body.clientWidth ) || ( document.body.clientHeight )))
                { WinWidth = document.body.clientWidth ;
                  WinHeight = document.body.clientHeight ;
                }
            }
        }

      if ( typeof( window.pageYOffset ) == "number" )
        { WinTopEdge = window.pageYOffset ;
          WinLeftEdge = window.pageXOffset ;
        }
      else
        { if (( document.body ) && (( document.body.scrollLeft ) || ( document.body.scrollTop )))
            { WinTopEdge = document.body.scrollTop ;
              WinLeftEdge = document.body.scrollLeft ;
            }
          else
            { if (( document.documentElement ) && (( document.documentElement.scrollLeft ) || ( document.documentElement.scrollTop )))
                { scrOfY = document.documentElement.scrollTop ;
                  scrOfX = document.documentElement.scrollLeft ;
                }
            }
        }
      return ( [ WinLeftEdge, WinTopEdge, WinWidth + WinLeftEdge, WinHeight + WinTopEdge ] ) ;
    }

  function GetElementPos ( Element )
    {
      var ElementWidth = 0 ;
      var ElementHeight = 0 ;
      var ElementLeftEdge = 0 ;
      var ElementTopEdge = 0 ;
      var ElementObj ;

      if ( document.layers )
        { ElementObj = getImage( Element );
          if ( ElementObj.container != null )
            { ElementLeftEdge = ElementObj.container.pageX + ElementObj.x ;
              ElementTopEdge  = ElementObj.container.pageY + ElementObj.y ;
            }
          else
            { ElementLeftEdge = ElementObj.x ;
              ElementTopEdge  = ElementObj.y ;
            }
          ElementWidth  = 20 ;
          ElementHeight = 20 ;
        }
      else
        { if ( document.getElementById )
            { ElementObj = document.getElementById( Element ) ; }
          else
            { if ( document.all )
                { ElementObj = document.all[ Element ] ; }
            }
          ElementLeftEdge = ElementObj.offsetLeft ;
          ElementTopEdge  = ElementObj.offsetTop ;
          ElementWidth    = ElementObj.offsetWidth ;
          ElementHeight   = ElementObj.offsetHeight ;
          ParentObj = ElementObj.offsetParent;
          while ( ParentObj != null )
            { DebugText ( "ParentObj exists" ) ;
              ElementLeftEdge = ElementLeftEdge + ParentObj.offsetLeft ;
              ElementTopEdge  = ElementTopEdge  + ParentObj.offsetTop ;
              ParentObj = ParentObj.offsetParent ;
            }
        }
      return ( [ ElementLeftEdge, ElementTopEdge, ElementWidth + ElementLeftEdge, ElementHeight + ElementTopEdge ] ) ;
    }

  function GetElementObjPos ( ElementObj )
    {
      var ElementWidth = 0 ;
      var ElementHeight = 0 ;
      var ElementLeftEdge = 0 ;
      var ElementTopEdge = 0 ;
      var ElementObj ;

      if ( document.layers )
        { if ( ElementObj.container != null )
            { ElementLeftEdge = ElementObj.container.pageX + ElementObj.x ;
              ElementTopEdge  = ElementObj.container.pageY + ElementObj.y ;
            }
          else
            { ElementLeftEdge = ElementObj.x ;
              ElementTopEdge  = ElementObj.y ;
            }
          ElementWidth  = 20 ;
          ElementHeight = 20 ;
        }
      else
        { ElementLeftEdge = ElementObj.offsetLeft ;
          ElementTopEdge  = ElementObj.offsetTop ;
          ElementWidth    = ElementObj.offsetWidth ;
          ElementHeight   = ElementObj.offsetHeight ;
          ParentObj = ElementObj.offsetParent;
          while ( ParentObj != null )
            { ElementLeftEdge = ElementLeftEdge + ParentObj.offsetLeft ;
              ElementTopEdge  = ElementTopEdge  + ParentObj.offsetTop ;
              ParentObj = ParentObj.offsetParent ;
            }
        }
      return ( [ ElementLeftEdge, ElementTopEdge, ElementWidth + ElementLeftEdge, ElementHeight + ElementTopEdge ] ) ;
    }

