if (document.layers) {
	var handleType = "ns4";
	var ns = 1;
	var obj = "document";
	var eig = "";
}
else if (document.all) {
	var handleType = "ie";
	var ie = 1;
	var obj = "document.all";
	var eig = ".style";
}
else if (document.documentElement) {
	var handleType = "w3c";
	var other = 1;
	var obj = "document.getElementById";
	var eig = ".style";
}

//       ### DHTML-Funktionen

function layer_data(layer) {	
	
	if(handleType == "w3c")
		L = eval(obj + "(\'" + layer + "\')" + eig);
	else {
		L = eval(obj + "." + layer + eig);		
		if(isNaN(L)) {
			L = document.getElementById(layer).style;
		}
	}
			
	return(L);
}

function layerObj(layer) {
	if(handleType == "w3c") {
		L = eval(obj + "(\'" + layer + "\')");
	}else {
		L = eval(obj + "." + layer);
		if(isNaN(L)) {
			L = document.getElementById(layer);
		}
	}
	return(L);
}

function layerCheck(layer) {
	if(handleType == "w3c")
		L = eval(obj + "(\'" + layer + "\')");
	else {
		L = eval(obj + "." + layer);
		if(isNaN(L)) {
			L = document.getElementById(layer);
		}
	}
		
	if(L == undefined)	
		return(0);
	else
		return(1);
}

function layer_values(layer,which) {
	L = layer_data(layer);
	if (ns) {
		if (which=="t") return parseInt(L.top)
		if (which=="r") return L.width  // funzt nicht.
		if (which=="b") return L.height // funzt nicht.
		if (which=="l") return parseInt(L.left)
	}
	else {
		if (which=="t") return parseInt(L.top)
		if (which=="r") return parseInt(L.width)
		if (which=="b") return parseInt(L.height)
		if (which=="l") return parseInt(L.left)
	}	
}

function show(layer,i) {    
 	 L = layer_data(layer); 
   L.visibility = (i) ? "visible" : "hidden";
}

var showTimer_timer = new Array();					
function showTimer(cssId, show, time) {
	i = showTimer_timer.length;
	showTimer_timer[i] = setTimeout("show('"+cssId+"',"+show+")", time);						
}

function showTimerKill() {
	for(a=0; a<=showTimer_timer.length; a++)
		clearTimeout(showTimer_timer[a]);						
}


var blockFuncShowMenu = 0;
function showMenu(layer,i) {    
	 if(blockFuncShowMenu==0) {
 	 	L = layer_data(layer); 
   	L.visibility = (i) ? "visible" : "hidden";
  }
}

function display(layer,i) {
 	 L = layer_data(layer); 
 	 if(i==2) {
 	 	if(L.display == "none")
 	 		L.display = "block";
 	 	else
 	 		L.display = "none";
 	}
 	else
  	 L.display = (i) ? "block" : "none";	
}

function posValueGen(value) {

	if(handleType == "w3c")
		return(value+'px');
	else
		return(value);
}  

function move_to(layer,x,y,z) { 
	L = layer_data(layer);
	L.left = posValueGen(x);
	L.top = posValueGen(y); 
	L.zIndex = posValueGen(z);
}

function move(layer,dx,dy,dz){
  L = layer_data(layer);
  x = parseInt(L.left) + dx;
  y = parseInt(L.top) + dy;
  z = parseInt(L.zIndex) + dz;
  move_to(layer,x,y,z);
}

function layerWrite(layer,text) {
  if(handleType == "w3c")
	L = eval(obj + "(\'" + layer + "\')");
  else	{
	L = eval(obj + "." + layer);
	if(isNaN(L)) {
		L = document.getElementById(layer);
	}
  }
  if(ns){
    L.document.open();
    L.document.write(text);
    L.document.close();
  }
  else L.innerHTML  = text;
}


//           ### Clip-Funktionen

function clip_values(L,which) {

	if (ns) {
		if (which=="t") return L.clip.top;
		if (which=="r") return L.clip.right;
		if (which=="b") return L.clip.bottom;
		if (which=="l") return L.clip.left;
	}				
	else if (ie) {
		var clipv = L.clip.split("rect(")[1].split(")")[0].split("px");
		
		if (which=="t") return Number(clipv[0]);
		if (which=="r") return Number(clipv[1]);
		if (which=="b") return Number(clipv[2]);
		if (which=="l") return Number(clipv[3]);
	}
	else if (other) {
		var clipv = L.clip.split("rect(")[1].split(")")[0].split("px");
		
		if (which=="t") return Number(clipv[0]);
		if (which=="r") return Number(clipv[1].split(", ")[1]);
		if (which=="b") return Number(clipv[2].split(", ")[1]);
		if (which=="l") return Number(clipv[3].split(", ")[1]);
	}	
}


function clip_to(L,t,r,b,l) {	
	if (ns) {
		L.clip.top = t;
		L.clip.right = r;
		L.clip.bottom = b;
		L.clip.left = l;
	}
	else if ((ie) || (other)) L.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}

function clip_by(L,t,r,b,l) {	
	clip_to(L,clip_values(L,'t') + t,clip_values(L,'r') + r,clip_values(L,'b') + b,clip_values(L,'l') + l);
}


