function getEltTop( elt )
{
  if( elt != null )
  {
    if( elt.pageY )
    {
      return elt.pageY;
    }

    y = 0;
    while( elt.offsetParent != null )
    {
      y += elt.offsetTop;
      elt = elt.offsetParent;
    }
    y += elt.offsetTop;
    return y;
  }
  return(-1);
}

function getEltHeight( elt )
{
  if( elt != null )
  {
    if( elt.style && elt.style.pixelHeight )
      return elt.style.pixelHeight;

    if( elt.style && elt.style.height )
      return parseInt(elt.style.height);

    if( elt.offsetHeight )
      return parseInt( elt.offsetHeight );

    if( elt.document && elt.document.height )
      return elt.document.height;

    if( elt.clip )
      return elt.clip.bottom - elt.clip.top;
  }

  return( 0 );
}
function setHeightByClass( panel, height )
{
  $(panel).height( height-$(panel).offset().top );
}
function alignPanels( panelsArr )
{
  var lastMax = 0;
  var panels,offset;
  for( var i = 0; i < panelsArr.length; i++ )
  {
    offset = $(panelsArr[i].offset).outerHeight();
    panels = panelsArr[i].panels;

    for( var j = 0; j < panels.length; j++ )
    {
      lastMax = Math.max( lastMax, $(panels[j].sel).offset().top + $(panels[j].sel).height() + (panels[j].offset?offset:0) );
    }
    for( var j = 0; j < panels.length; j++ )
    {
      if( panels[j].offset && (lastMax - $(panels[j].sel).offset().top) > $(panels[j].sel).height() )
      {
        $(panels[j].sel).height( lastMax - $(panels[j].sel).offset().top + (panels[j].offset?(offset*-1):(offset)) );
      }
      else
      {
        $(panels[j].sel).height( lastMax - $(panels[j].sel).offset().top );
      }
    }
  }
}
function getElmnt()
{
  var d=document;
  if( d.layers )
  {
    var cl = d.layers[getElmnt.arguments[0]];

    for( var i = 1; i < getElmnt.arguments.length && cl; i++ )
    {
      cl = cl.d.layers[getElmnt.arguments[i]];
    }

    return cl;
  }
  else if( d.getElementById && d.getElementsByName )
  {
    var name = getElmnt.arguments[getElmnt.arguments.length - 1];

    if( d.getElementById( name ) )
    {
      return d.getElementById( name );
    }
    else if( d.getElementsByName( name ) )
    {
      return d.getElementsByName( name )[0];
    }
  }
  else if( d.all )
  {
    return d.all[getElmnt.arguments[getElmnt.arguments.length - 1]];
  }

  return null;
}

if( typeof(setPanels) != "undefined" )
{
  $(document).ready(function(){ alignPanels(setPanels) });
}