// JavaScript Document



function init() {

	var menu = document.getElementById('menu');

	var center = document.getElementById('center');

	xHeight( menu, Math.max(250, xHeight(center)) );
	
	
}



// xDef, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xDef()

{

  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}

  return true;

}



// xTop, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xTop(e, iY)

{

  if(!(e=xGetElementById(e))) return 0;

  var css=xDef(e.style);

  if(css && xStr(e.style.top)) {

    if(xNum(iY)) e.style.top=iY+'px';

    else {

      iY=parseInt(e.style.top);

      if(isNaN(iY)) iY=0;

    }

  }

  else if(css && xDef(e.style.pixelTop)) {

    if(xNum(iY)) e.style.pixelTop=iY;

    else iY=e.style.pixelTop;

  }

  return iY;

}



// xLeft, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xLeft(e, iX)

{

  if(!(e=xGetElementById(e))) return 0;

  var css=xDef(e.style);  

  if (css && xStr(e.style.left)) {

    if(xNum(iX)) e.style.left=iX+'px';

    else {

      iX=parseInt(e.style.left);

      if(isNaN(iX)) iX=0;	  

    }

  }

  else if(css && xDef(e.style.pixelLeft)) {

    if(xNum(iX)) e.style.pixelLeft=iX;

    else iX=e.style.pixelLeft;

  }

  return iX;

}



// xGetComputedStyle, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xGetComputedStyle(oEle, sProp, bInt)

{

  var s, p = 'undefined';

  var dv = document.defaultView;

  if(dv && dv.getComputedStyle){

    s = dv.getComputedStyle(oEle,'');

    if (s) p = s.getPropertyValue(sProp);

  }

  else if(oEle.currentStyle) {

    // convert css property name to object property name for IE

    var a = sProp.split('-');

    sProp = a[0];

    for (var i=1; i<a.length; ++i) {

      c = a[i].charAt(0);

      sProp += a[i].replace(c, c.toUpperCase());

    }   

    p = oEle.currentStyle[sProp];

  }

  else return null;

  return bInt ? (parseInt(p) || 0) : p;

}



// xGetElementById, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xGetElementById(e)

{

  if(typeof(e)!='string') return e;

  if(document.getElementById) e=document.getElementById(e);

  else if(document.all) e=document.all[e];

  else e=null;

  return e;

}



// xStr, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xStr(s)

{

  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}

  return true;

}

// xNum, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xNum()

{

  for(var i=0; i<arguments.length; ++i){if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;}

  return true;

}



// xHeight, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xHeight(e,h)

{

  if(!(e=xGetElementById(e))) return 0;

  if (xNum(h)) {

    if (h<0) h = 0;

    else h=Math.round(h);

  }

  else h=-1;

  var css=xDef(e.style);

  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {

    h = xClientHeight();

  }

  else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) {

    if(h>=0) {

      var pt=0,pb=0,bt=0,bb=0;

      if (document.compatMode=='CSS1Compat') {

        var gcs = xGetComputedStyle;

        pt=gcs(e,'padding-top',1);

        if (pt !== null) {

          pb=gcs(e,'padding-bottom',1);

          bt=gcs(e,'border-top-width',1);

          bb=gcs(e,'border-bottom-width',1);

        }

        // Should we try this as a last resort?

        // At this point getComputedStyle and currentStyle do not exist.

        else if(xDef(e.offsetHeight,e.style.height)){

          e.style.height=h+'px';

          pt=e.offsetHeight-h;

        }

      }

      h-=(pt+pb+bt+bb);

      if(isNaN(h)||h<0) return;

      else e.style.height=h+'px';

    }

    h=e.offsetHeight;

  }

  else if(css && xDef(e.style.pixelHeight)) {

    if(h>=0) e.style.pixelHeight=h;

    h=e.style.pixelHeight;

  }

  return h;

}



// xWidth, Copyright 2001-2005 Michael Foster (Cross-Browser.com)

// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL



function xWidth(e,w)

{

  if(!(e=xGetElementById(e))) return 0;

  if (xNum(w)) {

    if (w<0) w = 0;

    else w=Math.round(w);

  }

  else w=-1;

  var css=xDef(e.style);

  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {

    w = xClientWidth();

  }

  else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) {

    if(w>=0) {

      var pl=0,pr=0,bl=0,br=0;

      if (document.compatMode=='CSS1Compat') {

        var gcs = xGetComputedStyle;

        pl=gcs(e,'padding-left',1);

        if (pl !== null) {

          pr=gcs(e,'padding-right',1);

          bl=gcs(e,'border-left-width',1);

          br=gcs(e,'border-right-width',1);

        }

        // Should we try this as a last resort?

        // At this point getComputedStyle and currentStyle do not exist.

        else if(xDef(e.offsetWidth,e.style.width)){

          e.style.width=w+'px';

          pl=e.offsetWidth-w;

        }

      }

      w-=(pl+pr+bl+br);

      if(isNaN(w)||w<0) return;

      else e.style.width=w+'px';

    }

    w=e.offsetWidth;

  }

  else if(css && xDef(e.style.pixelWidth)) {

    if(w>=0) e.style.pixelWidth=w;

    w=e.style.pixelWidth;

  }

  return w;

}



