function getNSSubLayer(levelObject,layerID){
/**************************************************
	Sub Function for getNSLayerById()
	Bliver kun brugt af Netscape 4
**************************************************/
	for (var k=0; k<levelObject.document.layers.length; k++){
		if (levelObject.document.layers[k].id == layerID){
			return levelObject.document.layers[k]
		}else
		if (levelObject.document.layers.length != 0 && levelObject.document.layers[k].document.layers.length > 0){
			if (getNSSubLayer(levelObject.document.layers[k],layerID).id == layerID){
				return getNSSubLayer(levelObject.document.layers[k],layerID)
			}
		}
	}
	return false;
}

function cp_getElementById(layerID){
/**************************************************
	syntax: cp_getElementById(any nested layer id)
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie || bc.ns5){
		return document.getElementById(layerID)
	}else{
		for (var i=0; i<document.layers.length; i++){
			if (document.layers[i].id == layerID){
				return document.layers[i]
			}else{
				obj = getNSSubLayer(document.layers[i],layerID)
				if (obj){
					return obj
				}
			}
		}
		return false
	}
}


function cp_innerHTML(layerObject,string){
/**************************************************
	syntax: writeToLayer(object, stringValue)
	stringValue kan være HTML m.v.
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie || bc.ns6){
		layerObject.innerHTML = string;
	}else if (bc.ns4){
		layerObject.document.open()
		layerObject.document.write(string)
		layerObject.document.close()
	}
}

function cp_setXY(object,x,y){
/**************************************************
	syntax: cssSetXY(object, value for x, value for y)
	Fungere i IE4+ og NS4+
**************************************************/
	cp_left(object,x)
	cp_top(object,y)
}

function cp_display(object,visibilityMode){
/**************************************************
	syntax: cssVisibility(object, [value for top])
	hvis der ikke angive en værdi for visibilityMode returneres den nuværende
	værdi eller er
	visibilityMode 0 = hidden
	visibilityMode 1 = visible
	Fungere i IE4+ og NS4+
**************************************************/

	if (bc.ie || bc.ns6){
		if (visibilityMode == 0){
			object.style.visibility = "hidden"
		}else if (visibilityMode == 1){
			object.style.visibility = "visible"
		}else{
			return object.style.visibility
		}
	}else if (bc.ns4){
		if (visibilityMode == 0){
			object.visibility = "hidden";
		}else if (visibilityMode == 1){
			object.visibility 	= "visible"
		}else{
			return object.visibility
		}
	}
}

function cp_left(object,leftValue){
/**************************************************
	syntax: cssLeft(object, [value for left])
	hvis der ikke angive en værdi for left returneres den nuværende
	position ellers sættes den til værdien
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie){
		if (leftValue==''){
			return object.style.pixelLeft
		}else{
			object.style.pixelLeft = leftValue
		}
	}else if (bc.ns4){
		if(leftValue==''){
			return object.left
		}else{
			object.left = leftValue
		}
	}else if (bc.ns6){
		if(leftValue==''){
			return object.style.left
		}else{
			object.style.left = leftValue
		}
	}
}

function cp_top(object,topValue){
/**************************************************
	syntax: cssTop(object, [value for top])
	hvis der ikke angive en værdi for top returneres den nuværende
	position ellers sættes den til værdien
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie){
		if (topValue==''){
			return object.style.pixelTop
		}else{
			object.style.pixelTop = topValue
		}
	}else if (bc.ns4){
		if(topValue==''){
			return object.top
		}else{
			object.top = topValue
		}
	}else if (bc.ns6){
		if (topValue==''){
			return object.style.top
		}else{
			object.style.top = topValue
		}
	}
}

function cp_width(object,widthValue){
/**************************************************
	syntax: cssWidth(object, [value for width])
	hvis der ikke angive en værdi for width returneres den nuværende
	position ellers sættes den til værdien
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie || bc.ns6){
		if (widthValue==''){
			return parseInt(object.style.width);
		}else{
			object.style.width = widthValue
		}
	}else if (bc.ns4){
		if(widthValue==''){
			return parseInt(object.clip.width);
		}else{
			object.clip.width = widthValue
		}
	}
}

function cp_height(object,heightValue){
/**************************************************
	syntax: cssHeight(object, [value for height])
	hvis der ikke angive en værdi for height returneres den nuværende
	position ellers sættes den til værdien
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie || bc.ns6){
		if (heightValue==''){
			if (!isNaN(parseInt(object.style.height))){
				return parseInt(object.style.height);
			}else{
				return "Error, height is not a number"
			}
		}else{
			object.style.height = heightValue
		}
	}else if (bc.ns4){
		if(heightValue==''){
			return parseInt(object.clip.height);
		}else{
			object.clip.height = heightValue
		}
	}
}

function cp_offsetHeight(object){
/**************************************************
	syntax: cssOffsetHeight(object)
	Returnere OffsetHeight for det valgte objekt
	Fungere i IE4+ og NS4+
**************************************************/
	if (bc.ie || bc.ns6){
		return object.offsetHeight
	}else if (bc.ns4){
		return object.document.height
	}
}

function init_mouseEvents(){
	document.onmouseup="clearScroll()"
	document.onclick="clearScroll()"
}
