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;
}

function xMoveTo(e,iX,iY) 
{
	xLeft(e,iX);
	xTop(e,iY);
}

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;
}

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;
}

function xDef() 
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}

function xStr() 
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}
  return true;
}

function xNum() 
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='number') return false;}
  return true;
}


function xDisplayNone(e)
{
	if(!(e=xGetElementById(e))) return 0;
	if(e.style.display) e.style.display = 'none';
}

function xDisplayBlock(e)
{
	if(!(e=xGetElementById(e))) return 0;
	if(e.style.display) e.style.display = 'block';
}


function xShow(e) { return xVisibility(e, 1); }
function xHide(e) { return xVisibility(e, 0); }

function xVisibility(e, bShow)
{
  if(!(e=xGetElementById(e))) return null;
  if(e.style && xDef(e.style.visibility)) {
    if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden';
    return e.style.visibility;
  }
  return null;
}

function xInnerHtml(e, sHtml) 
{
  if(!(e=xGetElementById(e))) return '';
  if (xStr(e.innerHTML)) {
    if (xStr(sHtml)) e.innerHTML = sHtml;
    else return e.innerHTML;
  }
  else if (xNN4) {
    if (xStr(sHtml)) {
      if (sHtml=='') sHtml = ' ';
      e.document.open();
      e.document.write(sHtml);
      e.document.close();
    }
    else return '';
  }
}


function xZIndex(e,uZ) 
{
  if(!(e=xGetElementById(e))) return 0;
  if(e.style && xDef(e.style.zIndex)) 
	{
    if(xNum(uZ)) e.style.zIndex=uZ;
    uZ=parseInt(e.style.zIndex);
  }
  return uZ;
}


//---------------------------------------------
function initArray()
//---------------------------------------------
{
	this.length = initArray.arguments.length;
	for (var i = 0; i < this.length; i++) this[i] = initArray.arguments[i];
}