// Copyright © 2000 by Apple Computer, Inc., All Rights Reserved.
//
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.
//
// ************************
// layer utility routines *
// ************************

function getStyleObject(objectId) {
  // cross-browser function to get an object's style object given its id
  if (document.all && document.all(objectId)) {
	// MSIE 4 DOM	
	return document.all(objectId).style;
  } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
  } else if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
  } else {
	return false;
  }
} // getStyleObject

function getPopupObject(objectId) {
  // cross-browser function to get an object's style object given its id
  if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId);
  } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId);
  } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
  } else {
	return false;
  }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
  // get a reference to the cross-browser style object and make sure the object exists
  var styleObject = getStyleObject(objectId);
  if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
  } else {
	// we couldn't find the object, so we can't change its visibility
	return false;
  }
} // changeObjectVisibility

function moveObject(objectId, newXCoordinate, newYCoordinate) {
  // get a reference to the cross-browser style object and make sure the object exists
  var styleObject = getStyleObject(objectId);
  if(styleObject) {
	styleObject.left = newXCoordinate;
	styleObject.top = newYCoordinate;
	var popObj=getPopupObject(objectId);
	var popHt = popObj.offsetHeight;
	var wndHt = document.body.scrollTop + document.body.clientHeight;
	var minTop = wndHt  - popHt;
	//alert("Popup Ht:" + popHt + ", Wnd Ht:" + wndHt + ", MinTop :" + minTop + " CurTop : " + newYCoordinate );
	
	if(minTop<newYCoordinate+10){
	  styleObject.top = minTop-20;
	}
	return true;
  } else {
	// we couldn't find the object, so we can't very well move it
	return false;
  }
} // moveObject




