var isNS4 = (document.layers) ? true : false;
var isIE4 = (document.all && !document.getElementById) ? true : false;
var isIE5 = (document.all && document.getElementById) ? true : false;
var isNS6 = (!document.all && document.getElementById) ? true : false;

function setVis(layerName, visMode){
 if (isNS4){
  eval('document.layers.'+layerName).visibility = visMode;
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.visibility = visMode;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.visibility = visMode;
 }
}

function getVis(layerName){
 if (isNS4){
  return eval('document.layers.'+layerName).visibility;
 }
 else if (isIE4) {
  return eval('document.all.'+layerName).style.visibility;
 }
 else if (isIE5 || isNS6) {
  return document.getElementById(layerName).style.visibility;
 }
}

function setLeft(layerName, leftPos){
 if (isNS4){
  eval('document.layers.'+layerName).left = leftPos;
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.pixelLeft = leftPos;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.left = leftPos+"px";
 }
}

function setZIndex(layerName, z){
 if (isNS4){
  eval('document.layers.'+layerName).zIndex = z;
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.zIndex = z;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.zIndex = z;
 }
}

function getLeft(layerName){
 // style.left does not appear to be reliable when the layer is first created, might be better to refer to offsetLeft
 var leftPos
 if (isNS4){
  leftPos = eval('document.layers.'+layerName).left;
 }
 else if (isIE4) {
  leftPos = eval('document.all.'+layerName).style.pixelLeft;
 }
 else if (isIE5 || isNS6) {
  leftPos = document.getElementById(layerName).style.left;
 }
 return parseInt(leftPos);
}

function setTop(layerName, topPos){
 if (isNS4){
  eval('document.layers.'+layerName).top = topPos;
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.pixelTop = topPos;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.top = topPos+"px";
 }
}

function getTop(layerName){
 var topPos;
 if (isNS4){
  topPos=eval('document.layers.'+layerName).top;
 }
 else if (isIE4) {
  topPos=eval('document.all.'+layerName).style.pixelTop;
 }
 else if (isIE5 || isNS6) {
  topPos=document.getElementById(layerName).style.top;
 }
 return parseInt(topPos);
}

function getLayerHeight(layerName){
 var theHeight;
 if (isNS4){
  theHeight = eval('document.layers.'+layerName).clip.height;
 }
 else if (isIE4) {
  theHeight = eval('document.all.'+layerName).offsetHeight;
 }
 else if (isIE5 || isNS6) {
  theHeight = document.getElementById(layerName).offsetHeight;
 }
 return theHeight;
}

function getLayerWidth (layerName){
 var theWidth;
 if (isNS4){
  theWidth = eval('document.layers.'+layerName).clip.width;
 }
 else if (isIE4) {
  theWidth = eval('document.all.'+layerName).offsetWidth;
 }
 else if (isIE5 || isNS6) {
  theWidth = document.getElementById(layerName).offsetWidth;
 }
 return theWidth;
}

function setLeftTopVis(layerName, leftPos, topPos, visMode){
 setLeft(layerName, leftPos);
 setTop(layerName, topPos);
 setVis(layerName, visMode);
}

// New functions added by Andy

function setHeight(layerName, newHeight){
 if (isNS4){
  //eval('document.layers.'+layerName).clip.height=newHeight;
  eval('document.layers.'+layerName).resizeTo(getLayerWidth (layerName),newHeight);
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.pixelHeight=newHeight;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.height=newHeight
 }
}

function setWidth(layerName, newWidth){
 if (isNS4){
  eval('document.layers.'+layerName).clip.width=newWidth;
 }
 else if (isIE4) {
  eval('document.all.'+layerName).style.pixelWidth=newWidth;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).style.width=newWidth
 }
}

function setContents(layerName, newContents){
 if (isNS4){
  eval('document.layers.'+layerName).document.writeln(newContents);
  eval('document.layers.'+layerName).document.close();
 }
 else if (isIE4) {
  eval('document.all.'+layerName).innerHTML=newContents;
 }
 else if (isIE5 || isNS6) {
  document.getElementById(layerName).innerHTML=newContents;
 }
}