// utility
function fixH(one,two) {
 if (document.getElementById('container_box')) {
  var lh=document.getElementById('container_box').offsetHeight-200;
  document.getElementById('content_box').style.height=lh+"px";
 }
}

// leftmenu
var expandFirstItemAutomatically = false; // Expand first menu item automatically ?
var initMenuIdToExpand = false;	// Id of menu item that should be initially expanded. the id is defined in the <li> tag.
var expandMenuItemByUrl = true;	// Menu will automatically expand by url - i.e. if the href of the menu item is in the current location, it will expand
var initialMenuItemAlwaysExpanded = true;	// NOT IMPLEMENTED YET

var dma_slmenuObj;
var divToScroll = false;
var ulToScroll = false;	
var divCounter = 1;
var otherDivsToScroll = new Array();
var divToHide = false;
var parentDivToHide = new Array();
var ulToHide = false;
var offsetOpera = 0;
if(navigator.userAgent.indexOf('Opera')>=0)offsetOpera=1;	
var slideMenuHeightOfCurrentBox = 0;
var objectsToExpand = new Array();
var initExpandIndex = 0;
var alwaysExpanedItems = new Array();
	
function popMenusToShow()
{
	var obj = divToScroll;
	var endArray = new Array();
	while(obj && obj.tagName!='BODY'){
		if(obj.tagName=='DIV' && obj.id.indexOf('slideDiv')>=0){
			var objFound = -1;
			for(var no=0;no<otherDivsToScroll.length;no++){
				if(otherDivsToScroll[no]==obj){
					objFound = no;
				}
			}
			if(objFound>=0){
				otherDivsToScroll.splice(objFound,1);	
			}
		}
		obj = obj.parentNode;
	}
}

function showSubMenu(e,inputObj)
{
	if(this && this.tagName)inputObj = this.parentNode;
	if(inputObj && inputObj.tagName=='LI'){
		divToScroll = inputObj.getElementsByTagName('DIV')[0];
		for(var no=0;no<otherDivsToScroll.length;no++){
			if(otherDivsToScroll[no]==divToScroll) return;
		}
	}
	hidingInProcess = false;
	if(otherDivsToScroll.length>0){
		if(divToScroll){
			if(otherDivsToScroll.length>0){
				popMenusToShow();
			}
			if(otherDivsToScroll.length>0){	
				autoHideMenus();
				hidingInProcess = true;
			}
		}
	}
	if(divToScroll && !hidingInProcess){
		divToScroll.style.display='';
		otherDivsToScroll.length = 0;
		otherDivToScroll = divToScroll.parentNode;
		otherDivsToScroll.push(divToScroll);	
		while(otherDivToScroll && otherDivToScroll.tagName!='BODY'){
			if(otherDivToScroll.tagName=='DIV' && otherDivToScroll.id.indexOf('slideDiv')>=0){
				otherDivsToScroll.push(otherDivToScroll);
			}
			otherDivToScroll = otherDivToScroll.parentNode;
		}
		ulToScroll = divToScroll.getElementsByTagName('UL')[0];
		if(divToScroll.style.height.replace('px','')/1<=1)scrollDownSub();
	}
}



function autoHideMenus()
{
return;
	if(otherDivsToScroll.length>0){
		divToHide = otherDivsToScroll[otherDivsToScroll.length-1];
		parentDivToHide.length=0;
		var obj = divToHide.parentNode.parentNode.parentNode;
		while(obj && obj.tagName=='DIV'){
			if(obj.id.indexOf('slideDiv')>=0)parentDivToHide.push(obj);
			obj = obj.parentNode.parentNode.parentNode;
		}
		var tmpHeight = (divToHide.style.height.replace('px','')/1 - slideMenuHeightOfCurrentBox);
		if(tmpHeight<0)tmpHeight=0;
		if(slideMenuHeightOfCurrentBox)divToHide.style.height = tmpHeight  + 'px';
		ulToHide = divToHide.getElementsByTagName('UL')[0];
		slideMenuHeightOfCurrentBox = ulToHide.offsetHeight;
		scrollUpMenu();
	}else{
		slideMenuHeightOfCurrentBox = 0;
		showSubMenu();
	}
}


function scrollUpMenu()
{

	var height = divToHide.offsetHeight;
	//height-=15;
	height = 0;
	if(height<0)height=0;
	divToHide.style.height = height + 'px';

	for(var no=0;no<parentDivToHide.length;no++){
		parentDivToHide[no].style.height = parentDivToHide[no].getElementsByTagName('UL')[0].offsetHeight + 'px';
	}
	if(height>0){
		setTimeout('scrollUpMenu()',5);
	}else{
		divToHide.style.display='none';
		otherDivsToScroll.length = otherDivsToScroll.length-1;
		autoHideMenus();
	}
}	

function scrollDownSub()
{
	if(divToScroll){
		var height = divToScroll.offsetHeight/1;
		var offsetMove =Math.min(100,(ulToScroll.offsetHeight - height));
		height = height +offsetMove ;
		divToScroll.style.height = height + 'px';
		
		for(var no=1;no<otherDivsToScroll.length;no++){
			var tmpHeight = otherDivsToScroll[no].offsetHeight/1 + offsetMove;
			otherDivsToScroll[no].style.height = tmpHeight + 'px';
		}
		if(height<ulToScroll.offsetHeight)setTimeout('scrollDownSub()',5); else {
			divToScroll = false;
			ulToScroll = false;
			if(objectsToExpand.length>0 && initExpandIndex<(objectsToExpand.length-1)){
				initExpandIndex++;
				
				showSubMenu(false,objectsToExpand[initExpandIndex]);
			}
		}
	}
	fixH('container_box','content_box');
}
	
function initSubItems(inputObj,currentDepth)
{
	divCounter++;
	var div = document.createElement('DIV');
	div.style.overflow = 'hidden';	
	div.style.position = 'relative';
	div.style.display='none';
	div.style.height = '1px';
	div.id = 'slideDiv' + divCounter;
	div.className = 'slideMenuDiv' + currentDepth;
	inputObj.parentNode.appendChild(div);	// Appending DIV as child element of <LI> that is parent of input <UL>		
	div.appendChild(inputObj);	// Appending <UL> to the div
	var menuItem = inputObj.getElementsByTagName('LI')[0];
	while(menuItem){
		if(menuItem.tagName=='LI'){
			var aTag = menuItem.getElementsByTagName('A')[0];
			aTag.className='slMenuItem_depth'+currentDepth;	
			var subUl = menuItem.getElementsByTagName('UL');
			if(subUl.length>0){
				initSubItems(subUl[0],currentDepth+1);
			}
			//aTag.onclick = showSubMenu;
		}
		menuItem = menuItem.nextSibling;
	}
}

function initSlideDownMenu() {
	dma_slmenuObj = document.getElementById('dma_slidedown_menu');
	dma_slmenuObj.style.visibility='visible';

	var mainUl = dma_slmenuObj.getElementsByTagName('UL')[0];
	var mainMenuItem = mainUl.getElementsByTagName('LI')[0];
	var mainItemCounter = 1;
	while(mainMenuItem){
		if(mainMenuItem.tagName=='LI'){
			var aTag = mainMenuItem.getElementsByTagName('A')[0];
			aTag.className='slMenuItem_depth1';	
			var subUl = mainMenuItem.getElementsByTagName('UL');
			if(subUl.length>0){
				mainMenuItem.id = 'mainMenuItem' + mainItemCounter;
				initSubItems(subUl[0],2);
				//aTag.onclick = showSubMenu;
				mainItemCounter++;
			}
		}
		mainMenuItem = mainMenuItem.nextSibling;
	}
/*
	if(location.search.indexOf('mainMenuItemToSlide')>=0){
		var items = location.search.split('&');
		for(var no=0;no<items.length;no++){
			if(items[no].indexOf('mainMenuItemToSlide')>=0){
				values = items[no].split('=');
				showSubMenu(false,document.getElementById('mainMenuItem' + values[1]));	
				initMenuIdToExpand = false;
			}
		}
	}else if(expandFirstItemAutomatically>0){
		if(document.getElementById('mainMenuItem' + expandFirstItemAutomatically)){
			showSubMenu(false,document.getElementById('mainMenuItem' + expandFirstItemAutomatically));
			initMenuIdToExpand = false;
		}
	}
*/
	if(expandMenuItemByUrl)
	{
		var aTags = dma_slmenuObj.getElementsByTagName('A');
		for(var no=0;no<aTags.length;no++){
			var hrefToCheckOn = aTags[no].href;
                        var loc = location.href;
                        if(loc.charAt(loc.length-1)!='&') loc=loc+'&';
			if(loc.indexOf(hrefToCheckOn) >=0 ){
				initMenuIdToExpand = false;
				var obj = aTags[no].parentNode;
				while(obj && obj.id!='dma_slidedown_menu'){
					if(obj.tagName=='LI'){
						var subUl = obj.getElementsByTagName('UL');
						if(initialMenuItemAlwaysExpanded) alwaysExpanedItems[obj.parentNode] = true;
						if(subUl.length>0){
							objectsToExpand.unshift(obj);
						}
					}
					obj = obj.parentNode;
				}
				showSubMenu(false,objectsToExpand[0]);
				break;
			}
		}
	}
}


function imgwin(img,w,h) {
	t=(screen.width-w)/5;   
	l=(screen.height-h)/5;
	winprops="top="+t+",left="+l+",width="+w+",height="+h+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no";
	win = window.open(img,'Fotoalbum',winprops);
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function validate_field(fld,errmsg) {
 value=fld.value;
 if(value=='') {
  alert(errmsg);
  fld.focus();
  return(false);
 }
 return(true);
}

function validate_2field(fld1,fld2,errmsg) {
 value1=fld1.value;
 value2=fld2.value;
 if(value1=='' && value2=='') {
  alert(errmsg);
  fld1.focus();
  return(false);
 }
 return(true);
}

// validate_wtbrzoeken(this.nr,this.straat,this.postcode)
function validate_wtbrzoeken(fld1,fld2,fld3) {
 nr=fld1.value;
 straat=fld2.value;
 postcode=fld3.value;
 if(straat=='' && postcode=='') {
  alert('U dient straat of postcode op te geven !');
  fld3.focus();
  return(false);
 }
 if(nr=='') {
  alert('Huisnummer is een verplicht veld !');
  fld1.focus();
  return(false);
 }
 return(true);
}

function albumfoto(album, foto, tekst) {
 //alert('album:' + album + ' foto:' + foto + ' tekst:' + tekst);
 el=document.images.fotoalbum_foto;
 el.src='/files/fotoalbums/' + album + '/' + foto + '.jpg';
 fotoalbum_text.innerText=tekst;
}

function toggleLayer(whichLayer) {
 var elem, vis;
 if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
 else if( document.all ) // this is the way old msie versions work
    elem = document.all[whichLayer];
 else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
 vis = elem.style;
 // if the style.display value is blank we try to figure it out here
 if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
 vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

function LayerOn(whichLayer) {
 var elem, vis;
 if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
 else if( document.all ) // this is the way old msie versions work
    elem = document.all[whichLayer];
 else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
 vis = elem.style;
 vis.display = 'block';
}

function LayerOff(whichLayer) {
 var elem, vis;
 if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
 else if( document.all ) // this is the way old msie versions work
    elem = document.all[whichLayer];
 else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
 vis = elem.style;
 vis.display = 'none';
}

window.onload = initSlideDownMenu;
