/* fixes height of columns in a container */

var fixColumns =
{
  containerCSS : 'fx-container',
  columnCSS : 'fx-column',
  headerCSS : 'fx-header',
  footerCSS : 'fx-footer',
  controlCSS : 'fx-control',
  minHeight : 200,

  local_div:null,
  local_ctnr:null,
  
  init:function ()
  {
    var ctnr,ctrl,cols,i,j,hgt;

    var hdr = 0;
    var ftr = 0;
    var divs = document.getElementsByTagName('div');

    for(i=0;i<divs.length;i++)
    {
      if(divs[i].className.indexOf(fixColumns.containerCSS)!=-1)
      {
        ctnr = divs[i].offsetHeight;
        local_div=divs[i];
        local_ctnr=ctnr;
        divs[i].style.visibility='hidden';
        setTimeout('fixColumns.resize()',100);
        divs[i].style.visibility='visible';
      }
    }
  },
  
  resize:function ()
  {
    var j,hdr,ftr,ctrl,hgt,cols,h;

    var hdr = 0;
    var ftr = 0;
    cols = local_div.getElementsByTagName('div');
    
    for(j=0;j<cols.length;j++)
    {
      if(cols[j].className.indexOf(fixColumns.headerCSS)!=-1)
      {
        hdr = cols[j].offsetHeight;
      }
      if(cols[j].className.indexOf(fixColumns.footerCSS)!=-1)
      {
        ftr = cols[j].offsetHeight;
      }
      if(cols[j].className.indexOf(fixColumns.controlCSS)!=-1)
      {
        ctrl = cols[j].offsetHeight;
      }
    }

    h = (ctrl || local_ctnr) - (hdr+ftr);
    hgt = (h>fixColumns.minHeight?h:fixColumns.minHeight) + 'px';

    for(j=0;j<cols.length;j++)
    {
      if(cols[j].className.indexOf(fixColumns.columnCSS)!=-1)
      {
        cols[j].style.height = hgt;
      }
    }
  }
}
