function adjustLayoutElem(elem, correction) {
   var leftColumn = getHtmlObject("content");
   var rightColumn = getHtmlObject(elem);
   if ((rightColumn) && (leftColumn)) {
      var leftColumnHeight = leftColumn.offsetHeight - correction;
      var rightColumnHeight = rightColumn.offsetHeight;

      if(leftColumnHeight > rightColumnHeight) {
         rightColumn.style.height = leftColumnHeight + 'px';
      }
   }
}

function switchGraveDetailsLabels(lang) {
var lblF1 = getHtmlObject('lblF1');
var lblF2 = getHtmlObject('lblF2');
var lblF3 = getHtmlObject('lblF3');
var lblF4 = getHtmlObject('lblF4');
var lblF5 = getHtmlObject('lblF5');
var lblF6 = getHtmlObject('lblF6');
var lblF7a = getHtmlObject('lblF7a');
var lblF8a = getHtmlObject('lblF8a');
var lblF7b = getHtmlObject('lblF7b');
var lblF8b = getHtmlObject('lblF8b');
var lblF9 = getHtmlObject('lblF9');
var lblF11 = getHtmlObject('lblF11');
var lblF12 = getHtmlObject('lblF12');
var lblF13 = getHtmlObject('lblF13');
if (lang == 1) {  // NL
 lblF1.innerHTML = '<strong>Voornaam:</strong>';
 lblF2.innerHTML = '<strong>Achternaam:</strong>';
 lblF3.innerHTML = '<strong>Geboortedatum:</strong>';
 lblF4.innerHTML = '<strong>Geboorteplaats:</strong>';
 lblF5.innerHTML = '<strong>Overlijdensdatum:</strong>';
 lblF6.innerHTML = '<strong>Locatie sneuvelen:</strong>';
 lblF7a.innerHTML = '<strong>Begraafplaats 1940-\'45:</strong>';
 lblF8a.innerHTML = '<strong>Grafnummer 1940-\'45:</strong>';
 lblF7b.innerHTML = '<strong>Begraafplaats 1946:</strong>';
 lblF8b.innerHTML = '<strong>Grafnummer 1946:</strong>';
 lblF9.innerHTML = '<strong>Functie:</strong>';
 lblF11.innerHTML = 'Notities';
 lblF12.innerHTML = 'Beeldmateriaal';
 lblF13.innerHTML = 'Relevante links';
} else if (lang == 2) { // EN
 lblF1.innerHTML = '<strong>Surname:</strong>';
 lblF2.innerHTML = '<strong>Family name:</strong>';
 lblF3.innerHTML = '<strong>Date of Birth:</strong>';
 lblF4.innerHTML = '<strong>Place of Birth:</strong>';
 lblF5.innerHTML = '<strong>Date Killed in Action:</strong>';
 lblF6.innerHTML = '<strong>Location:</strong>';
 lblF7a.innerHTML = '<strong>Graveyard 1940-\'45:</strong>';
 lblF8a.innerHTML = '<strong>Grave 1940-\'45:</strong>';
 lblF7b.innerHTML = '<strong>Graveyard 1946:</strong>';
 lblF8b.innerHTML = '<strong>Grave 1946:</strong>';
 lblF9.innerHTML = '<strong>Function:</strong>';
 lblF11.innerHTML = 'Notes';
 lblF12.innerHTML = 'Photographs';
 lblF13.innerHTML = 'Relevant links';
} else if (lang == 3) { // DE
 lblF1.innerHTML = '<strong>Vorname:</strong>';
 lblF2.innerHTML = '<strong>Nachname:</strong>';
 lblF3.innerHTML = '<strong>Geburtstag:</strong>';
 lblF4.innerHTML = '<strong>Geburtsort:</strong>';
 lblF5.innerHTML = '<strong>Todesdatum:</strong>';
 lblF6.innerHTML = '<strong>Todesort:</strong>';
 lblF7a.innerHTML = '<strong>Ruhest&auml;tte 1940-\'45:</strong>';
 lblF8a.innerHTML = '<strong>Grablage 1940-\'45:</strong>';
 lblF7b.innerHTML = '<strong>Ruhest&auml;tte 1946:</strong>';
 lblF8b.innerHTML = '<strong>Grablage 1946:</strong>';
 lblF9.innerHTML = '<strong>Function:</strong>';
 lblF11.innerHTML = 'Weitere Infos';
 lblF12.innerHTML = 'Fotos';
 lblF13.innerHTML = 'Links';
}
} /* end switchGraveDetailsLabels */

function getHtmlObject(objectId) {
   if(document.getElementById && document.getElementById(objectId)) {
      return document.getElementById(objectId);
   } else if (document.all && document.all(objectId)) {
      return document.all(objectId);
   } else if (document.layers && document.layers[objectId]) {
      return document.layers[objectId];
   } else {
      return false;
   }
}

function trim(s) {
   var sRet = '';
   var sC = '';
   for (var i = 0; i < s.length; i++) {
      sC = s.charAt(i);
      if ((sC != ' ') && (sC != '\t'))
         sRet = sRet + sC
   }
   return(sRet);
}

function isValidEmail(frm, elem) {
   reEmail = /^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,4}$/;

   if (frm) {
      var ref = eval('frm.' + elem);
      if (ref) {
         return(reEmail.test(ref.value));
      } else {
         alert('isValidEmail: ' + elem + ' not found');
      }
   } else {
      alert('isValidEmail: form not found');
   }
   return true;
}

function checkString(s) {
   if (trim("" + s.value) == "") {
      return false;
   }
   return true;
}

function decode(s) {
 var n=0;
 var r="";
 for(var i=1; i < s.length - 1; i++) {
  n=s.charCodeAt(i);
  if (n>=8364) {n = 128;}
  r += String.fromCharCode(n-(4));
 }
 return r;
}

function decode_email(s) {
 location.href=decode(s);
}

function showHideElements(hideElem, showElem) {
   var ref = getHtmlObject(hideElem);
   var ref2 = getHtmlObject(showElem);
   if ((ref) && (ref2)) {
      ref2.style.display = 'block';
      //alert(hideElem + '  ' + showElem);

      var elemNameC = 'pcontent';
      var elemNameN = 'pcontent2';
      if (showElem == "main") {
         elemNameC = 'pcontent2';
         elemNameN = 'pcontent';
      }
      var newColumn = getHtmlObject(elemNameN);
      var orgColumn = getHtmlObject(elemNameC);
      if ((newColumn) && (orgColumn)) {
         var difference = ref.offsetHeight - orgColumn.offsetHeight;
         var newHeight = newColumn.offsetHeight + difference;
         //alert(elemNameC + ': ' + orgColumn.offsetHeight + ' - ' + hideElem + ': ' + ref.offsetHeight);
         //alert(elemNameN + ': ' + newHeight + ' - ' + showElem + ': ' + ref2.offsetHeight);
         ref2.style.height = newHeight + 'px';
      }
      ref.style.display = 'none';
   }
   return(false);
}

function scanChildNodes(ref) {
   if (ref) {
      if (ref.getElementsByTagName) {
         var tags = new Array ('td', 'p', 'li', 'h2', 'h3');
         for (var j = 0; j < tags.length; j++) {
            var oNodeList = ref.getElementsByTagName(tags[j]);
            if (oNodeList) {
               for (var i = 0; i < oNodeList.length; i++) {
                  oNodeList.item(i).style.fontSize = intCurrentFontSize.toString() + 'pt';
                  scanChildNodes(oNodeList.item(i));
               }
            }
         }
      }
   }
}

/*
var thumbnailviewer={
enableTitle: true,
enableAnimation: true,
definefooter: '<div class="footerbar">Sluiten</div>',
defineLoading: '<img src="images/loading.gif" /> Bezig met laden van afbeelding...',
scrollbarwidth: 16,
opacitystring: 'filter:progid:DXImageTransform.Microsoft.alpha(opacity=10); -moz-opacity: 0.1; opacity: 0.1',
targetlinks:[],

createthumbBox:function(){
document.write('<div id="thumbBox" onClick="thumbnailviewer.closeit()"><div id="thumbImage"></div>'+this.definefooter+'</div>')
document.write('<div id="thumbLoading">'+this.defineLoading+'</div>')
this.thumbBox=document.getElementById("thumbBox")
this.thumbImage=document.getElementById("thumbImage")
this.thumbLoading=document.getElementById("thumbLoading")
this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
},


centerDiv:function(divobj){
var ie=document.all && !window.opera
var dom=document.getElementById
var scroll_top=(ie)? this.standardbody.scrollTop : window.pageYOffset
var scroll_left=(ie)? this.standardbody.scrollLeft : window.pageXOffset
var docwidth=(ie)? this.standardbody.clientWidth : window.innerWidth-this.scrollbarwidth
var docheight=(ie)? this.standardbody.clientHeight: window.innerHeight
var docheightcomplete=(this.standardbody.offsetHeight>this.standardbody.scrollHeight)? this.standardbody.offsetHeight : this.standardbody.scrollHeight
var objwidth=divobj.offsetWidth
var objheight=divobj.offsetHeight
var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+10+"px"
divobj.style.left=docwidth/2-objwidth/2+"px"
divobj.style.top=Math.floor(parseInt(topposition))+"px"
divobj.style.visibility="visible"
},

showthumbBox:function(){

this.thumbImage=document.getElementById("thumbImage");
if (this.thumbImage) {
   this.featureImage=this.thumbImage.getElementsByTagName("img")[0];
   this.featureDescr=this.thumbImage.getElementsByTagName("div")[0];
   if ((this.featureImage) && (this.featureDescr)) {
      this.featureImage=this.thumbImage.getElementsByTagName("img")[0];
      this.featureDescr.style.width = this.featureImage.width + 'px';
   }
}
thumbnailviewer.thumbLoading.style.visibility="hidden"
this.centerDiv(this.thumbBox)
if (this.enableAnimation){
this.currentopacity=0.1
this.opacitytimer=setInterval("thumbnailviewer.opacityanimation()", 20)
}
},


loadimage:function(link){
if (this.thumbBox.style.visibility=="visible")
this.closeit()
var imageHTML='<img src="'+link.getAttribute("href")+'" style="'+this.opacitystring+'" />'
if (this.enableTitle && link.getAttribute("titleContainer"))
imageHTML+='<br /><div id="thumbimgdescr">'+link.getAttribute("titleContainer") + '</div>';
this.centerDiv(this.thumbLoading)
this.thumbImage.innerHTML=imageHTML
this.featureImage=this.thumbImage.getElementsByTagName("img")[0]
if (this.featureImage.complete)
thumbnailviewer.showthumbBox()
else{
this.featureImage.onload=function(){
thumbnailviewer.showthumbBox()
}
}
if (document.all && !window.createPopup)
this.featureImage.src=link.getAttribute("href")
this.featureImage.onerror=function(){
thumbnailviewer.thumbLoading.style.visibility="hidden"
}
},

setimgopacity:function(value){
var targetobject=this.featureImage
if (targetobject.filters && targetobject.filters[0]){
if (typeof targetobject.filters[0].opacity=="number")
targetobject.filters[0].opacity=value*100
else
targetobject.style.filter="alpha(opacity="+value*100+")"
}
else if (typeof targetobject.style.MozOpacity!="undefined")
targetobject.style.MozOpacity=value
else if (typeof targetobject.style.opacity!="undefined")
targetobject.style.opacity=value
else
this.stopanimation()
},

opacityanimation:function(){
this.setimgopacity(this.currentopacity)
this.currentopacity+=0.1
if (this.currentopacity>1)
this.stopanimation()
},

stopanimation:function(){
if (typeof this.opacitytimer!="undefined")
clearInterval(this.opacitytimer)
},


closeit:function(){
this.stopanimation()
this.thumbBox.style.visibility="hidden"
this.thumbImage.innerHTML=""
this.thumbBox.style.left="-2000px"
this.thumbBox.style.top="-2000px"
},

cleanup:function(){
this.thumbLoading=null
if (this.featureImage) this.featureImage.onload=null
this.featureImage=null
this.thumbImage=null
for (var i=0; i<this.targetlinks.length; i++)
this.targetlinks[i].onclick=null
this.thumbBox=null
},

dotask:function(target, functionref, tasktype){
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
},

init:function(){
if (!this.enableAnimation)
this.opacitystring=""
var pagelinks=document.getElementsByTagName("a")
for (var i=0; i<pagelinks.length; i++){
if (pagelinks[i].getAttribute("rel") && pagelinks[i].getAttribute("rel")=="thumbnail"){
pagelinks[i].onclick=function(){
thumbnailviewer.stopanimation()
thumbnailviewer.loadimage(this)
return false
}
this.targetlinks[this.targetlinks.length]=pagelinks[i]
}
}
this.dotask(window, function(){if (thumbnailviewer.thumbBox.style.visibility=="visible") thumbnailviewer.centerDiv(thumbnailviewer.thumbBox)}, "resize")
}
}
thumbnailviewer.createthumbBox()
thumbnailviewer.dotask(window, function(){thumbnailviewer.init()}, "load")
thumbnailviewer.dotask(window, function(){thumbnailviewer.cleanup()}, "unload")
*/