// dhtml.js

// Set browser-determined global variables
var NN4		= (document.layers ? true : false);
var NN6		= ((!document.all && document.getElementById) ? true : false);
var hide	= (NN4 ? 'hide' : 'hidden');
var show	= (NN4 ? 'show' : 'visible');
var zIdx	= -1;
var targetLayer;
var snapLayer;

// Method to create absolute positioned layers
function absElement(sName, sLeft, sTop, sWdh, sHgt, sVis, copy) { 
	if (NN4) { 
	   document.writeln('<LAYER NAME="' + sName + '" LEFT=' + (sLeft+10) + ' TOP=' + sTop + ' WIDTH=' + sWdh + ' HEIGHT=' + sHgt + ' VISIBILITY=' + sVis + ' z-Index=' + (++zIdx) + '">' + copy + '</LAYER>');
	}
	else {
		document.writeln('<DIV ID="' + sName + '" STYLE=position:absolute; overflow:none; left:' + sLeft + 'px; top:' + sTop + 'px; width:' + sWdh + 'px; height:' + sHgt + 'px;' + ' visibility:' + sVis + '; z-Index=' + (++zIdx) + '">' + copy + '</DIV>');
	}
}

// Method to create relative layers
function relElement(sName, sVis, copy) { 
	if (NN4) {
		layerID = (sName + "a");
		document.writeln('<ILAYER id="'+layerID+'" width="100%" VISIBILITY="visible"></ILAYER>');
		snapLayer = '<LAYER NAME="' + sName + '" width="100%" visibility="hidden" z-Index="' + (++zIdx) + '" onLoad="moveToAbsolute('+layerID+'.pageX,'+layerID+'.pageY); visibility=\'show\';">'+copy+'</LAYER>';
	}
	else {
		document.writeln('<DIV ID="' + sName + '" visibility:' + sVis + '; z-Index=' + (++zIdx) + '">' + copy + '</DIV>');
	}
}

// Method to hide layers
function hideElement(name) {
	if (NN4){
		   refElement(name).visibility=hide;  
	} else {
		refElement(name).style.visibility=hide;
	}
}

// Method to show layers
function showElement(name) {
	if (NN4){
		refElement(name).visibility=show;
	} else {
		refElement(name).style.visibility=show;
	}
}

// Method to reference layers
function refElement(name) {
    	return eval(getDocObj(name));
}

// Method to update the content of a layer.
function updateElement(name, content){
	targetLayer = refElement(name);
	if(NN4){
		targetLayer.document.open();
		targetLayer.document.write(content);
		targetLayer.document.close();
	} else if(NN6){
		targetLayer.innerHTML=content;
	} else {
		targetLayer.innerHTML=content;
	}
}

function getDocObj(elem,parent) {
	if (document.layers) {
		if (parent) {
			return "document."+parent+".document."+elem;
		} else {
			return "document."+elem;
		}
	} else if (document.all) {
		return "document.all."+ elem;
	} else if (document.getElementById) {
		return "document.getElementById('"+elem+"')";
	}
}
