var ns4;
var ns;
var op5;
var op6;
var agt;
var mac;
var ie; 
var mac_ie;
var tel;
var menuRightWidth;
tel = 1;
var frameHeight, frameWidth;

function onPageLoaded(){
	if(document.getElementById('menuRight')){
		menuRightWidth = getElementWidth('menuRight');
	}else{
		menuRightWidth = 0;
	}
	sniffBrowsers();
	setResize();
}

function sniffBrowsers() {
	ns = (navigator.appName=="Netscape");
	ns4 = document.layers;
	op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
	op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
	agt=navigator.userAgent.toLowerCase();
	mac = (agt.indexOf("mac")!=-1);
	ie = (agt.indexOf("msie") != -1);
	mac_ie = mac && ie;
}

function setResize(){
	if (ns) {
		frameHeight = window.innerHeight;
		frameWidth = window.innerWidth;
	} else {
		frameHeight = document.body.clientHeight;
		frameWidth = document.body.clientWidth;
	}
	
	if(document.getElementById('pagecontent')){
		//if (frameHeight > (getElementTop('pagecontent') + getElementHeight('footer') + getElementHeight('leftmenuTable'))){
		if (frameHeight > (getElementHeight('footer') + getElementHeight('leftmenuTable'))){
			document.getElementById('pagecontent').style.height = frameHeight - getElementTop('pagecontent') - getElementHeight('footer') - 2;
		}else{
			//document.getElementById('pagecontent').style.height = getElementHeight('leftmenuTable') - 2;
			document.getElementById('pagecontent').style.height = getElementHeight('leftmenuTable') - getElementTop('pagecontent') - 2;
		}
	}
	
	if(document.getElementById('breadcrumbjs')){
		if(document.getElementById('menuRight')){
			document.getElementById('breadcrumbjs').style.width = (getElementWidth('text_block') - menuRightWidth)+'px' ;
			document.getElementById('breadcrumbjs').style.width = (getElementWidth('text_block') - menuRightWidth)+'px' ;
			document.getElementById('menuRight').style.left = (getElementLeft('breadcrumbjs') + getElementWidth('breadcrumbjs'))+'px' ;
			document.getElementById('menuRight').style.width = menuRightWidth;
		}else{
			if (document.getElementById('bmi_vak')){
				document.getElementById('breadcrumbjs').style.width = getElementWidth('bmi_vak')+'px';
				document.getElementById('breadcrumbjs').style.width = getElementWidth('bmi_vak')+'px';
			}else if (document.getElementById('text_block')){
				document.getElementById('breadcrumbjs').style.width = getElementWidth('text_block')+'px';
				document.getElementById('breadcrumbjs').style.width = getElementWidth('text_block')+'px';
			}else if (document.getElementById('text_block2')){
				document.getElementById('breadcrumbjs').style.width = getElementWidth('text_block2') +'px' ;
				document.getElementById('breadcrumbjs').style.width = getElementWidth('text_block2') +'px' ;
			}
		}
	}
	if(ns){
		setInterval("bodyScroll()",100);
	}else{
		bodyScroll();
	}
}

function bodyScroll(){
	if(document.getElementById('footerHP')){
		document.getElementById('footerHP').style.left = getElementLeft('mainTable') + "px";
		document.getElementById('footerHP').style.top = (document.body.scrollTop + frameHeight - 18) + "px";
	}
	if(document.getElementById('footerHP1024')){
		document.getElementById('footerHP1024').style.top = (document.body.scrollTop + frameHeight - 18) + "px";
	}
	if(document.getElementById('glossarytop')){
		document.getElementById('glossarytop').style.top = (document.body.scrollTop + frameHeight - 24) + "px";
	}
}

//
var mId, mIdSub, tmout, tmoutSub
mId = "";
mIdSub = "";

function showDiv(el,posElement,posMethod, addX, addY,divWidth){
	if (mId != "" && mId != el){
		if (document.getElementById(mId)){
			document.getElementById(mId).style.visibility ='hidden';
            document.getElementById(mId).style.display ='none';
		}
	}
	
	if (document.getElementById(el)){
		showDivGeneric(el,posElement,posMethod, addX, addY,divWidth);
	}
	
	mId = el;
}
function divOver(el){
	window.clearInterval(tmout);
}
function divOut(el){
	tmout = setTimeout("closeDiv('"+ el +"')",300)
}

function showDivSub(el,posElement,posMethod, addX, addY,divWidth){
	if (mIdSub != "" && mIdSub != el){
		if (document.getElementById(mIdSub)){
			document.getElementById(mIdSub).style.visibility ='hidden';
			document.getElementById(mIdSub).style.display ='none';
		}
	}
	
	/*if (document.getElementById(el)){
		showDivGeneric(el,posElement,posMethod, eval(addX+50), addY,divWidth);
	}*/
	
	if (el != '' && document.getElementById(el)){
		currEl = document.getElementById(el);
		
		if(currEl.style.visibility == 'hidden' || currEl.style.visibility == ''){
			temp = findPosition(posElement);
			
			currEl.style.display = 'block';
			
			if (posMethod == 'RT')
				currEl.style.left = temp[0] - document.getElementById(el).clientWidth + 'px';
			else
				currEl.style.left = temp[0] + addX +'px';
			
			if (ie)
				currEl.style.top = temp[1] + addY + 10 +'px';
			else
				currEl.style.top = temp[1] + addY +'px';
			
			currEl.style.visibility = 'visible';
			
		}
		
		mIdSub = el;
	}else{
		mIdSub = '';
	}
	
}
function divOverSub(el){
	window.clearInterval(tmoutSub);
}
function divOutSub(el){
	tmoutSub = setTimeout("closeDiv('"+ el +"')",300)
}

function closeDiv(el){
	if (document.getElementById(el)){
		document.getElementById(el).style.visibility ='hidden';
		document.getElementById(el).style.display ='none';
	}
}

function showDivGeneric(el,posElement,posMethod, addX, addY,divWidth){
	if (el != ""){
		currEl = document.getElementById(el);
		
		if(currEl.style.visibility == 'hidden' || currEl.style.visibility == ''){
			temp = findPosition(posElement);

			if (posMethod == 'RT'){
				currElScroll = document.getElementById(el + '_scroll');
				currElList = document.getElementById(el + '_list');
				
				//currElScroll.style.height = '100px';
				currEl.style.display = 'block';
				elWidth = getElementWidth(el);
				
				currElList.style.width = (getElementWidth(el + '_list')-20) + 'px';
				
				// IE BUG ???? -> code 2 maal aanroepen
				elHeight = getElementHeight(el + '_list');
				elHeight = getElementHeight(el + '_list');
				
				currElList.style.width = '';
				
				currEl.style.width = elWidth + 'px';

				if (frameHeight - temp[1] - 42 < elHeight){
					currElScroll.style.height = (frameHeight - temp[1] - 42) + 'px';
				}else{
					currElScroll.style.height = '';
				}
			}else{
				currEl.style.display = 'block';
			}
			
			if (divWidth != ''){
				currEl.style.width = divWidth+'px';
			}
			if (posMethod == 'BT'){
				yPos = temp[1] - getElementHeight(el) + addY;
				currEl.style.left = temp[0] + addX +'px';
				currEl.style.top = yPos +'px';
			}else if (posMethod == 'RT'){
				xPos = temp[0] - getElementWidth(el) + addX;
				currEl.style.left = xPos +'px';
				currEl.style.top = temp[1] + addY +'px';
			}else{
				currEl.style.left = temp[0] + addX +'px';
				currEl.style.top = temp[1] + addY +'px';
			}
			
			currEl.style.visibility = 'visible';
		}
	}
}

function findPosition(oEl) {
	if(oEl.offsetParent) {
		for( var posX = 0, posY = 0; oEl.offsetParent; oEl = oEl.offsetParent ) {
			posX += oEl.offsetLeft;
			posY += oEl.offsetTop;
		}
		return [ posX, posY ];
	} else {
		return [ oEl.x, oEl.y ];
	}
}

//

function getScrollWidth(){
	var w = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
	return w ? w : 0;
}

function getScrollHeight(){
	var w = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
	return w ? w : 0;
}

function setLeft(elem, nVal){
	document.getElementById(elem).style.left = nVal;
}

function setRight(elem, nVal){
	document.getElementById(elem).style.right = nVal;
}

function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return false;
	}
}

function changeObjectVisibility(objectId, newVisibility) {
	var styleObject = getStyleObject(objectId, document);
	if(styleObject) {
		styleObject.visibility = newVisibility;
		return true;
	} else {
		return false;
	}
}

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
		if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
		if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
		}
	}
	return null;
}

function getImage(name) {
	if (document.layers) {
		return findImage(name, document);
	}
	return null;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}

function getElementLeft(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
			xPos += tempEl.offsetLeft;
			tempEl = tempEl.offsetParent;
		}
		return xPos;
	}
}

function getElementTop(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {
		if(document.getElementById) {	
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
			yPos += tempEl.offsetTop;
			tempEl = tempEl.offsetParent;
		}
		return yPos;
	}
}

function getImageLeft(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
	} else {
		return getElementLeft(myImage);
	}
	return -1;
}

function getImageTop(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	} else {
		return getElementTop(myImage);
	}
	return -1;
}

function getImageWidth(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.width;
	} else {
		return getElementWidth(myImage);
	}
	return -1;
}

function getImageHeight(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.height;
	} else {
		return getElementHeight(myImage);
	}
	return -1;
}

function moveXY(myObject, x, y) {
	obj = getStyleObject(myObject)
	if (ns4) {
		obj.top = y;
		obj.left = x;
	} else {
		if (op5) {
			obj.pixelTop = y;
			obj.pixelLeft = x;
		} else {
			obj.top = y + 'px';
			obj.left = x + 'px';
		}	
	}
}

function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	elem.className = myClass;
}

function changeImage(target, source) {
	var imageObj;
	
	if (ns4) {
		imageObj = getImage(target);
		if (imageObj) imageObj.src = eval(source).src; 
	} else {
		imageObj = eval('document.images.' + target);
		if (imageObj) imageObj.src = eval(source).src; 
	}
}

function changeBGColour(myObject, colour) {
	if (ns4) {
		var obj = getObjNN4(document, myObject);
		obj.bgColor=colour;
	} else {
		var obj = getStyleObject(myObject);
		if (op5) {
			obj.background = colour;	
		} else {
			obj.backgroundColor = colour;
		}	
	}
}

function ResizeBlock(blockid){
	if (document.getElementById('block_' + blockid) && document.getElementById('blockcell_' + blockid)){
		var bcheight = getElementHeight('blockcell_' + blockid);
		var bheight = getElementHeight('block_' + blockid);
		if (bcheight > bheight){
			if (bcheight < 100){
				document.getElementById('block_' + blockid).style.height = 100;
			}else{
				document.getElementById('block_' + blockid).style.height = bcheight;
			}
		}else{
			if (bheight < 100){
				document.getElementById('block_' + blockid).style.height = 100;
			}
		}
	}
}

function ShowHideInfo(fieldid){
	document.getElementById('infonotifynewcontent').style.display = 'none';
	document.getElementById('infonotifynewevent').style.display = 'none';
	document.getElementById('infoglossary').style.display = 'none';
	document.getElementById('infopersonalworkspace').style.display = 'none';
	document.getElementById('infonewsletter').style.display = 'none';
	
	document.getElementById(fieldid).style.display = 'block';
}

var newwindow;
function poptastic(url, width, height){
	if (width != undefined && height != undefined){
		newwindow=window.open(url,'','height=' + height + ',width=' + width + ',resizable=yes,scrollbars=yes,toolbar=no,status=no,menubar=no');
	}else{
		newwindow=window.open(url,'','height=400,width=550,resizable=no,scrollbars=yes,toolbar=no,status=no,menubar=no');
	}
	if (window.focus) {newwindow.focus()}
}

function WriteToDocument(text){
	document.write(text);
}

function TrackLink(link){
	if (link != '') {		
		var xmlHttpReq = false;
		// Mozilla/Safari
		if (window.XMLHttpRequest) {
			xmlHttpReq = new XMLHttpRequest();
		}
		// IE
		else if (window.ActiveXObject) {
			xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xmlHttpReq.open('POST', '/web/tracklink.asp', true);
		xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttpReq.onreadystatechange = function() {
			if (xmlHttpReq.readyState == 4) {
				return true;
			}
		}
		xmlHttpReq.send('link='+escape(link));
	}
}

function ToggleVisibility(elid){
	if (document.getElementById(elid)) {
		if (document.getElementById(elid).style.display == 'none'){
			document.getElementById(elid).style.display = 'block';
		}else{
			document.getElementById(elid).style.display = 'none';
		}
	}
}


function HideSelects(aDivNames){
	for (var i = 0; i < aDivNames.length; i++){
		document.getElementsByName(aDivNames[i])[0].style.visibility = "hidden";
	}
}

function ShowSelects(aDivNames){
	for (var i = 0; i < aDivNames.length; i++)
		document.getElementsByName(aDivNames[i])[0].style.visibility = "visible";
}


var currentcalorieblock = '';
function ShowCalorieBlock(elid){
	if (document.getElementById('cutcalorie_' + currentcalorieblock)) {
		document.getElementById('cutcalorie_' + currentcalorieblock).style.display = 'none';
	}
	if (document.getElementById('cutcalorietitle_' + currentcalorieblock)) {
		document.getElementById('cutcalorietitle_' + currentcalorieblock).className = '';
	}
	if (document.getElementById('cutcalorie_' + elid)) {
		document.getElementById('cutcalorie_' + elid).style.display = 'block';
	}
	if (document.getElementById('cutcalorietitle_' + elid)) {
		document.getElementById('cutcalorietitle_' + elid).className = 'active';
	}
	
	currentcalorieblock = elid;
}

var currentgdablock = '';
function ShowGDABlock(elid){
	if (document.getElementById('gda_' + currentgdablock)) {
		document.getElementById('gda_' + currentgdablock).style.display = 'none';
	}
	if (document.getElementById('gda_empty')) {
		document.getElementById('gda_empty').style.display = 'none';
	}
	if (document.getElementById('gda_' + elid)) {
		document.getElementById('gda_' + elid).style.display = 'block';
	}
	
	currentgdablock = elid;
}