//VSS Header Information (Do Not Modify. VSS will Modify on Check In)
//	Last Changed By:	$Author: Jhelak $
//	Last Changed:		$Date: 9/27/01 2:53p $
//	VSS Version Number:	$Revision: 1 $
//
// DHTML API Javascript 
// Provides Javascript functions which are compatible with Internet Exploere 4.0
// and above and Netscape Navigator 4.0 and above
// (c) OAO Healthcare Solutions 2000.

// Global Variables
var coll = ""
var styleObj = ""
if (MS_ie4up)
	{
	coll = "all.";
	styleObj = ".style";
	}

//-----------------------------------------------------------------------------
// Functions to set and retrieve Element visibility
//-----------------------------------------------------------------------------
function hideObject(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.visibility = "hide";
	if (MS_ie4up) obj.visibility = "hidden";
}

function showObject(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.visibility = "show";
	if (MS_ie4up) obj.visibility = "visible";
}

function isVisible(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up && obj.visibility == "show") return(true);
	if (MS_ie4up && obj.visibility == "visible") return(true);
	return(false);
}

function dispObject(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.display = "";
	if (MS_ie4up) obj.display = "";
}

function dispObjectnone(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.display = "none";
	if (MS_ie4up) obj.display = "none";
}

function isDisplayed(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up && obj.display == "") return(true);
	if (MS_ie4up && obj.display == "") return(true);
	return(false);
}

//-----------------------------------------------------------------------------
// Functions to set and retrieve Object Positioning
//-----------------------------------------------------------------------------
function moveObjectTo(objIn, x, y)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.moveTo(x,y);
	if (MS_ie4up) 
	{
	obj.Left = x;
	obj.Top = y;
	}
}
function moveObjectBy(objIn, x, y)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.moveBy(x,y);
	if (MS_ie4up) 
	{
	obj.pixelLeft += x;
	obj.pixelTop += y;
	}
}
function getLeft(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.left);
	if (MS_ie4up) return (obj.pixelLeft);
	return(-1);
}
function getTop(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.top);
	if (MS_ie4up) return (obj.pixelTop);
	return (-1);
}
function getRight(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.left + getWidth(objIn));
	if (MS_ie4up) return (obj.pixelLeft + getWidth(objIn));
	return(-1);
}
function getBottom(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.top + getHeight(objIn));
	if (MS_ie4up) return (obj.pixelTop + getHeight(objIn));
	return (-1);
}
function getWidth(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up)
	{
		if (obj.document.width)
			return(obj.document.width);
		else
			return(obj.clip.right - obj.clip.left);
	}
	if (MS_ie4up)
	{
		if (obj.pixelWidth)
			return(obj.pixelWidth);
		else
			return(obj.clientWidth);
	}
	return (-1);
}
function getHeight(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up)
	{
		if (obj.document.height)
			return(obj.document.height)
		else
			return(obj.clip.bottom - obj.clip.top);
	}
	if (MS_ie4up)
	{
		if (false && obj.pixelHeight)
			return(obj.pixelHeight);
		else
			return(obj.clientHeight);
	}
	return (-1);
}
function getxIndex(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.zIndex);
	if (MS_ie4up) return (obj.zIndex);
	return (-1);
}
function getzIndex(objIn, z)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.zIndex = z;
	if (MS_ie4up) obj.zIndex = z;
	return (-1);
}

//-----------------------------------------------------------------------------
// Functions to set and retrieve Object Clipping
//-----------------------------------------------------------------------------
function clipObject(objIn, clipleft,cliptop,clipright,clipbottom)
{
	var obj = getObject(objIn);
	if (NS_nav4up) 
	{
		obj.clip.left = clipleft;
		obj.clip.top = cliptop;
		obj.clip.right = clipright;
		obj.clip.bottom = clipbottom;
	}
	if (MS_ie4up) obj.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft + ')';
	return (-1);
}
function getClipLeft(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.left);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(0);
		var clip = getIEClipValues(obj.clip);
		return (clip[3]);
	}
	return (-1);
}
function getClipTop(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.top);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(0);
		var clip = getIEClipValues(obj.clip);
		return (clip[0]);
	}
	return (-1);
}
function getClipRight(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.right);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(0);
		var clip = getIEClipValues(obj.clip);
		return (clip[1]);
	}
	return (-1);
}
function getClipBottom(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.bottom);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(0);
		var clip = getIEClipValues(obj.clip);
		return (clip[2]);
	}
	return (-1);
}
function getClipWidth(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.width);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(obj.pixelWidth);
		var clip = getIEClipValues(obj.clip);
		return (clip[1] - clip[3]);
	}
	return (-1);
}
function getClipHeight(objIn)
{
	var obj = getObject(objIn);
	if (NS_nav4up) return (obj.clip.height);
	if (MS_ie4up) 
	{
		var str = obj.clip;
		if (!str) return(obj.pixelHeight);
		var clip = getIEClipValues(obj.clip);
		return (clip[2] - clip[0]);
	}
	return (-1);
}
function getIEClipValues(str) {

  var clip = new Array();
  var i;

  // Parse out the clipping values for IE layers.

  i = str.indexOf("(");
  clip[0] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[1] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[2] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[3] = parseInt(str.substring(i + 1, str.length), 10);
  return(clip);
}

//-----------------------------------------------------------------------------
// Functions for Object Scrolling
//-----------------------------------------------------------------------------
function scrollObject(objIn, x, y, bound)
{
	var obj = getObject(objIn);
	var dx = getClipLeft(obj) - x;
	var dy = getClipTop(obj) - y;
	scrollObjectBy(obj, -dx, -dy, bound)
}
function scrollLayerBy(objIn, dx, dy, bound)
{
	var obj = getObject(objIn);
	var cl = getClipLeft(obj);
	var ct = getClipTop(obj);
	var cr = getClipRight(obj);
	var cb = getClipBottom(obj);
	
  if (bound) {
    if (cl + dx < 0)

      dx = -cl;

    else if (cr + dx > getWidth(obj))
      dx = getWidth(obj) - cr;
    if (ct + dy < 0)

      dy = -ct;

    else if (cb + dy > getHeight(obj))
      dy = getHeight(obj) - cb;
  }

  clipLayer(obj, cl + dx, ct + dy, cr + dx, cb + dy);
  moveLayerBy(obj, -dx, -dy);

}

//-----------------------------------------------------------------------------
// Object Background
//-----------------------------------------------------------------------------
function setBgColor(objIn, color)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.bgcolor = color;
	if (MS_ie4up) obj.backgroundColor = color;
}
function setBgImage(objIn, imgSrc)
{
	var obj = getObject(objIn);
	if (NS_nav4up) obj.background.src = imgSrc;
	if (MS_ie4up) obj.backgroundImage  = "url(" + imgSrc + ")";
}

//-----------------------------------------------------------------------------
// Object Utilities
//-----------------------------------------------------------------------------
function getObject(obj)
{
	var theObj
	if (typeof obj == "string")
		{
		theObj = eval("document." + coll + obj + styleObj)
		}
	else
		{
		theObj = obj
		}
	return theObj
}

function findLayer(name, doc) {

  var i, layer;

  for (i = 0; i < doc.layers.length; i++) {
    layer = doc.layers[i];
    if (layer.name == name)
      return layer;
    if (layer.document.layers.length > 0) {
      layer = findLayer(name, layer.document);
      if (layer != null)
        return layer;
    }
  }

  return null;
}


//-----------------------------------------------------------------------------
// Window and Page properties
//-----------------------------------------------------------------------------
function getWindowWidth()
{
	if (NS_nav4up) return (window.innerWidth);
	if (MS_ie4up) return (document.body.offsetWidth);
	return (-1);
}
function getWindowHeight()
{
	if (NS_nav4up) return (window.innerHeight);
	if (MS_ie4up) return (document.body.offsetHeight);
	return (-1);
}
function getPageHeight()
{
	if (NS_nav4up) return (document.height);
	if (MS_ie4up) return (document.body.scrollHeight);
	return (-1);
}
function getPageWidth()
{
	if (NS_nav4up) return (document.width);
	if (MS_ie4up) return (document.body.scrollWidth);
	return (-1);
}
function getPageScrollX()
{
	if (NS_nav4up) return (window.pageXOffset);
	if (MS_ie4up) return (document.body.scrollLeft);
	return (-1);
}
function getPageScrollY()
{
	if (NS_nav4up) return (window.pageYOffset);
	if (MS_ie4up) return (document.body.scrollTop);
	return (-1);
}
