//<script>


//Global variables
var isCSS, isW3C, isIE4, isNN4, isIE6CSS;

//Initialization
function initDHTMLAPI() {
   if (document.images) {
     isCSS = (document.body && document.body.style) ? true : false;
     isW3C = (isCSS && document.getElementById) ? true : false;
     isIE4 = (isCSS && document.all) ? true : false;
	 isNN4 = (document.layers) ? true : false ;
     isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >=0) ? true : false;
   }
}


//set event handler to initialize API
//window.onload = initDHTMLAPI;


//Seek nested NN4 layer from string name
function seekLayer(doc, name) {
   var theObj;
   for (var i=0; i<doc.layers.length; i++){
      if (doc.layers[i].name == name) {
	     theObj = doc.layers[i];
		 break;
      }
	  //dive into nested layers if necessary
	  if (doc.layers[i].document.layers.length > 0) {
	     theObj = seekLayer(document.layers[i].document, name)
	  }
   }
   return theObj;
}

//Convert object name string or object reference
//into a valid object reference
function getRawObject(obj){
   var theObj;
   if (typeof obj == "string"){
      if (isW3C){
	     theObj = document.getElementById(obj);
	  } else if (isIE4) {
	     theObj = document.all(obj);
	  } else if (isNN4) {
	     theObj = seekLayer(document, obj);
	  }
   } else {
      theObj = obj;
   }
   return theObj;
}

//Convert object name string or object reference
//into a valid style (or NN$ layer) reference
function getObject(obj){
   var theObj = getRawObject(obj);
   if (theObj && isCSS) {
      theObj = theObj.style;
   }
   return theObj;
}

//Set the z-order of an object
function setZIndex(obj, zOrder){
   var theObj = getObject(obj)
   if (theObj) {
      theObj.zIndex = zOrder;
   }
}


//position an object at a specific pixel coordinate
function shiftTo(obj, x, y){
   var theObj=getObject(obj);
   if(theObj){
      if(isCSS) {
	     //equalize incorrect numeric value type
		 var units = (typeof theObj.left == "string") ? "px": 0;
		 theObj.left = x + units;
		 theObj.top = y + units;
      } else if (isNN4) {
	     theObj.moveTo(x,y)
	  }
   }
}