var browser = document.layers ? 0 : document.all ? 1 : 2;

function xPos(ev) {
	return (document.layers) ? ev.pageX : ((document.all) ? ev.x : ev.clientX);
}

function yPos(ev) {
	return (document.layers) ? ev.pageY : ((document.all) ? ev.y : ev.clientY); 
}

function getLayerId(layer) {
	switch (browser) {
	case 0:
		return document.layers.calframe;
	case 1:
	case 2:
		return document.getElementById(layer); //Netscape
	}
}

function centerX(xDim) {

	switch (browser) {
		case 0:
		xWin = window.innerWidth;
		break;
	case 1:
		xWin = window.document.body.clientWidth;
		break;
	case 2:
		xWin = window.innerWidth;
	}
	return (xWin-xDim)/2;
	
}

function centerY(yDim) {

	switch (browser) {
		case 0:
		yWin = window.innerHeight;
		break;
	case 1:
		yWin = window.document.body.clientHeight;
		break;
	case 2:
		yWin = window.innerHeight;
	}
	return (500-yDim)/2;
	
}

function moveLayer(xPos, yPos) {

	xPos = centerX(xPos);
	yPos = centerY(yPos);
	
	switch (browser) {
	case 0:
		this.left = xPos;
		this.top = yPos;
		break;
	case 1:
		this.style.pixelLeft = xPos;
		this.style.pixelTop = yPos;
		break;
	case 2:
		this.style.left = xPos;
		this.style.top = yPos;
	}
}

function createLayer(layer) {
	switch (browser) {
	case 0:
		document.writeln('<layer id="' + layer + '" visibility="hide" z-index=1></layer>');
		break;
	case 1:
	case 2:
		document.writeln('<div id="' + layer + '" style="position: absolute; visibility: hidden"></div>');
	}	
}

function showLayer(visible) {
	this.isOn = visible;
   	switch (browser) {
	case 0:
		this.visibility = (visible) ? "show" : "hide";
		break;
	case 1:
	case 2:
		this.style.visibility = (visible) ? "visible" : "hidden";
	}
}

function writeLayer(layer, s) {
	var id = getLayerId(layer);
	switch (browser) {
	case 0:
		id.document.open();
		id.document.write(s);
		id.document.close();
		break;
	case 1:
	case 2:
		id.innerHTML = s;
	}
}

function initLayer(layer, visible) {
	var id = getLayerId(layer);
	id.moveLayer = moveLayer;
	id.showLayer = showLayer;
	id.showLayer(visible);
}

