var what = null; 
  
if (document.layers) { 
  layerRef="document.layers"; 
  styleSwitch=""; 
  visibleVar="show"; 
  invisibleVar="hide";
  what ="ns4"; 
  widthSwitch="clip.width";
} 
else {
  styleSwitch="style"; 
  visibleVar="visible"; 
  invisibleVar="hidden";
  if (document.all) { 
    layerRef="document.all"; 
    what ="ie4"; 
    widthSwitch="style.pixelWidth";    
  } 
  else 
    if (document.getElementById) { 
      layerRef="document.getElementByID"; 
      what="dom1"; 
      widthSwitch="offsetWidth";
    } 
    else what="none"; 
}

// Get layer object
function getLayerObj (layerName) {
  if (what == "none") return false; 
  else {
    if (what == "dom1") { 
      layerObject=document.getElementById(layerName);
      if (typeof(layerObject)!="undefined" && layerObject) return layerObject; 
      else return false;
    } 
    else { 
      layerObject=eval(layerRef+'["'+layerName+'"]');
      if (typeof(layerObject)!="undefined" && layerObject) return layerObject; 
      else return false;
    } 
  } 
}

// Get layer properties
function getLayerProps (layerName) {
  if (getLayerObj (layerName)) return eval("layerObject."+styleSwitch); 
  else return false; 
}

// Toggles the layer visibility on 
function showLayer (layerName) { 
  var layerProps=getLayerProps(layerName);
  if (layerProps) layerProps.visibility=visibleVar;
  else return; 
} 

// Toggles the layer visibility off 
function hideLayer(layerName) { 
  var layerProps=getLayerProps(layerName);
  if (layerProps) layerProps.visibility=invisibleVar;
  else return; 
} 

// Toggles the layer visibility on/off depending on current state
function toggleLayerVisibility(layerName) { 
  var layerProps=getLayerProps(layerName);
  if (layerProps) { 
    if (visibleVar==layerProps.visibility) layerProps.visibility=invisibleVar;
    else layerProps.visibility=visibleVar;
  }
  else return;
} 

// Toggles the layer display on
function expandLayer(layerName) { 
  if (what!="ns4") {
    var layerProps=getLayerProps(layerName);
    if (layerProps) layerProps.display="block";
    else return; 
  }
  else return;  
} 

// Toggles the layer display off 
function collapseLayer(layerName) { 
  if (what!="ns4") {
    var layerProps=getLayerProps(layerName);
    if (layerProps) layerProps.display="none";
    else return; 
  }
  else return;
} 

// Toggles the layer display on/off depending on current state
function toggleLayerDisplay(layerName) { 
  if (what!="ns4") {
    var layerProps=getLayerProps(layerName);
    if (layerProps) { 
      if ("block"==layerProps.display) layerProps.display="none";
      else layerProps.display="block";
    } 
    else return; 
  }  
  else return;
} 

// Set layer zIndex
function setLayerZ (layerName,layerZ) {
  var layerProps=getLayerProps(layerName);
  if (layerProps) layerProps.zIndex=layerZ;
  else return; 
}

// Sets zIndex for layers
function shuffleLayers () {
  for (var i=0; i<shuffleLayers.arguments.length; i+=2) {
    setLayerZ(shuffleLayers.arguments[i],shuffleLayers.arguments[i+1]);
  }
}

// Get layer prop
function getLayerProp (layerName,propName) {
  var layerProps=getLayerProps(layerName);
  if (layerProps) return eval("layerProps."+propName);
  else return false; 
}

// Set layer prop
function setLayerProp (layerName,propName,propValue) {
  var layerProps=getLayerProps(layerName);
  if (layerProps) eval("layerProps."+propName+"=propValue");
  else return; 
}

// Get layer width 
function getLayerWidth (layerName) {
    var layerObj=getLayerObj(layerName);
    if (layerObj) return eval("layerObj."+widthSwitch);
    else return false; 
}


