// JScript File
var userid = 0;
var naam = 'anoniem';
var woonplaats = '';
var flags= '';
var prefix = 'lkk_base';

//////////////  TAGS WITH TOOLTIP FUNCTIONALITY  ////////////////////
// List may be extended or shortened:
var tt_tags = new Array("a","area","b","big","caption","center","code","dd","div","dl","dt","em","h1","h2","h3","h4","h5","h6","i","img","input","li","map","ol","p","pre","s","small","span","strike","strong","sub","sup","table","td","th","tr","tt","u","var","ul","layer");
var tt_wnd = null;
var tt_wnd_inner = null;
var frameWidth;
var frameHeight;
var firstTimeArticle = true;
var firstTimePage = true;
var firstTimeUser = true;
var hasInnerText = false;

// setStyleByClass: given an element type and a class selector,
// style property and value, apply the style.
// args:
//  t - type of tag to check for (e.g., SPAN)
//  c - class name
//  p - CSS property
//  v - value
var ie = (document.all) ? true : false;

function setStyleByClass(node,type,classname,style,value){
	var elements;
	elements = node.getElementsByTagName(type);
	for(var i = 0; i < elements.length; i++){
		var element = elements[i];
		if (element.className.split(' ')[0] == classname) {
			eval('element.style.' + style + " = '" + value + "'");
		}
	}
}


/////////////////////////////////////////////////////////////////////
function tt_Hide()
{
var tt_wnd = document.getElementById(prefix + 'ToolTip');
tt_wnd.style.visibility='hidden';
}

function Tooltip(e)
{

var text = "unknown";
if (e.srcElement)
{
    text = e.srcElement.getAttribute("tooltip");
}
else if (e.target)
{
    text = e.target.getAttribute("tooltip");
}
tt_wnd.style.visibility='visible';
var top = e.clientY + 10;
var left = e.clientX + 10;
tt_wnd.style.top = '' + top +'px';
tt_wnd.style.left = '' + left + 'px';
tt_wnd_inner.innerHTML = text;
if ((tt_wnd_inner.clientHeight + top) > frameHeight)
{
top = e.clientY - tt_wnd_inner.clientHeight - 10;
if (top < 0) top = 0;
tt_wnd.style.top = '' + top +'px';
}
if ((tt_wnd_inner.clientWidth + left) > frameWidth)
{
left = e.clientX - tt_wnd_inner.clientWidth - 10;
tt_wnd.style.left = '' + left + 'px';
}

}

function tt_Init(node)
{
tt_wnd = document.getElementById(prefix + 'ToolTip');
tt_wnd_inner = document.getElementById(prefix + 'ToolTipInner');

var htm = '<div style="position:absolute;"><\/div>',
tags,
t_tj,
over;
var i = tt_tags.length; while(i--)
{
tags = node.getElementsByTagName(tt_tags[i]);
var j = tags.length; while(j--)
{
t_tj = tags[j];
var tooltip = t_tj.getAttribute("tooltip");
if ((tooltip != "" ) && (tooltip != null ))
{

if (t_tj.addEventListener){
t_tj.addEventListener('mouseover', Tooltip, false);		    		    
t_tj.addEventListener('mouseout', tt_Hide, false);		    		    
} else if (t_tj.attachEvent){
t_tj.detachEvent('onmouseover', Tooltip);		    		    
t_tj.detachEvent('onmouseout', tt_Hide);		    		                    
t_tj.attachEvent('onmouseover', Tooltip);		    		    
t_tj.attachEvent('onmouseout', tt_Hide);		    		    
}
}
}
}
}
function init_adminRTBar(node)
{
tags = node.getElementsByTagName('td');
var j = tags.length; 
while(j--)
{
var tag = tags[j];
if (tag.className == 'com_htmli_ui_RTButtonBar__dummy')
{
tag.innerHTML = '<div onmousedown="var me=_h1(this),ev=_h2(event);var current=_h3(5, this);current.onHtml(this, ev);" id="__html" class="com_htmli_ui_RTButtonBar__image com_htmli_ui_RTButtonBar__html"></div>'
                +'<div onmousedown="var me=_h1(this),ev=_h2(event);var current=_h3(5, this);current.onRegular(this, ev);" id="__normal" class="com_htmli_ui_RTButtonBar__html com_htmli_ui_RTButtonBar__image" style="display:none;"></div>';
}
}
}
function exit_adminRTBar(node)
{
tags = node.getElementsByTagName('td');
var j = tags.length; 
while(j--)
{
var tag = tags[j];
if (tag.className == 'com_htmli_ui_RTButtonBar__dummy')
{
tag.innerHTML = '';
}
}
}

com_htmli_ui_RichText.prototype.getHTMLContents = function() {
var me = this;
if (this.getAttribute('html')=='true')
{
this.toRegular();
this.setAttribute('html','false');
}
var contents = me.outerNode.contentWindow.document.body.innerHTML;
return contents;
};

com_htmli_ui_RichText.prototype.setHTMLContents = function(contents) {
var me = this;
this.setAttribute('html','false');
if (document.all) {
setTimeout(function() {
	me.outerNode.contentWindow.document.body.innerHTML = contents;}, 1);
} else {
me.outerNode.contentWindow.document.body.innerHTML = contents;
}
};

com_htmli_ui_RTButtonBar.prototype.setHTML = function(value)
{
setStyleByClass(this.innerNode, 'div', 'com_htmli_ui_RTButtonBar__image', 'display', value?'none':'block');
setStyleByClass(this.innerNode, 'select', 'com_htmli_ui_RTButtonBar__formatblock', 'display', value?'none':'block');
setStyleByClass(this.innerNode, 'select', 'com_htmli_ui_RTButtonBar__fontname', 'display', value?'none':'block');
setStyleByClass(this.innerNode, 'select', 'com_htmli_ui_RTButtonBar__fontsize', 'display', value?'none':'block');
setStyleByClass(this.innerNode, 'div', 'com_htmli_ui_RTButtonBar__html', 'display', value?'block':'none');
this.getContainer().getElementById(this.getTarget()).setAttribute('html', value.toString());
}
com_htmli_ui_RTButtonBar.prototype.onHtml = function(me, ev)
{
var target = this.getContainer().getElementById(this.getTarget());
if (target.getAttribute('html')!='true')
{    
target.toSource();
}
ev.preventDefault();
ev.stopPropagation();
this.setHTML(true);
return false;
}
com_htmli_ui_RTButtonBar.prototype.onRegular = function(me, ev)
{
var target = this.getContainer().getElementById(this.getTarget());
if (target.getAttribute('html')=='true')
{
target.toRegular();
}
ev.preventDefault();
ev.stopPropagation();
this.setHTML(false);
return false;
}
function page_Init(node)
{
tt_Init(node);
tags = node.getElementsByTagName('div');
var j = tags.length; 
while(j--)
{
var tag = tags[j];
if (tag.className == 'javascript')
{
eval(tag.innerHTML);	    
}
}
}

// Should be called when a new menu is loaded, or when the page is resized
function resize()
{
  if (self.innerWidth)
  {
    frameWidth = self.innerWidth;
    frameHeight = self.innerHeight;
  }
  else if (document.documentElement && document.documentElement.clientWidth)
  {
    frameWidth = document.documentElement.clientWidth;
    frameHeight = document.documentElement.clientHeight;
  }
  else if (document.body)
  {
    frameWidth = document.body.clientWidth;
    frameHeight = document.body.clientHeight;
  }
  var x = frameWidth - 185;
  var bottom = 70;
  var top = 70;
  var y = frameHeight - (top + bottom) -30;
  var right = 180;
  var topleft = 244;
  var topmiddle = 0;
  var topright = 0;
  if (frameWidth > 244)
  {
    topmiddle = frameWidth - topleft;
  }
  else
  {
    topleft = topright = 0;
    topmiddle = frameWidth-20;
  }

  if (y < 400)
  {
    y = 400;
    var bottom = frameHeight - 500;
    var top = 70;
    if (bottom < 0)
    {
      var top = 70 + bottom;
      bottom = 0;
      if (top < 20)
      {
        y += top - 20;
        top = 20;
      }
    }
  }
  if (x < 700)
  {
    x = 700;
    right = frameWidth - 700;
    if( right < 0)
    {
      x+= right;
      right = 0;
    }
  }
  document.getElementById(prefix + 'BottomRight').style.height = bottom + 'px';
  document.getElementById(prefix + 'Right').style.width = right + 'px';
  document.getElementById(prefix + 'TopLeft').style.width = x + 'px';
  document.getElementById(prefix + 'TopLeft').style.height = top + 'px';
  document.getElementById(prefix + 'RightMiddle').style.width = right + 'px';

  var yright = y + 2;
  var righttop = 0;
  var rightbottom = 125;

  rightmiddle = yright - rightbottom;
  if (rightmiddle < 0)
  {
    rightbottom += rightmiddle;
    rightmiddle = 0;
  }

//  document.getElementById(prefix + 'RightTop').style.height = righttop + 'px';
  document.getElementById(prefix + 'RightMiddle').style.height = rightmiddle + 'px';
  document.getElementById(prefix + 'RightBottom').style.height = rightbottom + 'px';

  var x1 = x - 2;
  var y1 = y - 27
  var x2 = x - 4;
  var y2 = y - 54;
  var x3 = x - 6;
  var y3 = y - 81;
  var width0 = x + 'px';
  var width1 = x1 + 'px';
  var width2 = x2 + 'px';
  var width3 = x3 + 'px';
  var height0 = y + 'px';
  var height1 = y1 + 'px';
  var height2 = y2 + 'px';
  var height3 = x3 + 'px';
  var divs = document.getElementsByTagName('div');
  for (var i = 0; i < divs.length; i++)
  {
    var classname = divs[i].className;
    switch (classname)
    {
      case 'MenuDiv0':
        divs[i].style.width =width0;
        divs[i].style.height = height0;
        break;
      case 'MenuDiv1':
        divs[i].style.width = width1;
        divs[i].style.height = height1;
        break;
      case 'MenuDiv2':
        divs[i].style.width = width2;
        divs[i].style.height = height2;
        break;
      case 'MenuDiv3':
        divs[i].style.width = width3;
        divs[i].style.height = height3;
        break;
    }
  }
}
/* remove special characters from text
 used to transform text from database to HTML
 */
function removeSpecials(text)
{
  text=text.replace(/&lt;/ig,'<')
  text=text.replace(/&gt;/ig,'>')
  text=text.replace(/&amp;/ig,'&')
  text=text.replace(/&lt;/ig,'<')
  text=text.replace(/&gt;/ig,'>')
  text=text.replace(/&amp;/ig,'&')
  text=text.replace(/&quot;/ig,'"')
  return text;
}

function addSpecials(text)
{
  text=text.replace(/</ig,'&lt;')
  text=text.replace(/>/ig,'&gt;')
  text=text.replace(/&/ig,'&amp;')
  text=text.replace(/"/ig,'&quot;')
  return text;
}

function getTagTextElementNs(doc, tag, ns)
{
	if(!hasInnerText)
    {
      return doc.getElementsByTagNameNS(ns, tag).item(0).textContent;
    }
    else
    {
      return doc.getElementsByTagName(tag).item(0).text;
    }
}

function getTagElementNs(doc, tag, ns)
{
    if (typeof(doc.getElementsByTagNameNS) != 'undefined') // no IE
    {
      return doc.getElementsByTagNameNS(ns, tag).item(0);
    }
    else
    {
      return doc.getElementsByTagName(tag).item(0);
    }
}

function getTagTextElement(doc, tag)
{
	if(!hasInnerText)
    {
      return doc.getElementsByTagName(tag).item(0).textContent;
    }
    else
    {
      return doc.getElementsByTagName(tag).item(0).text;
    }
}

function setTagTextElement(doc, tag, text)
{
	if(!hasInnerText){
	   doc.getElementsByTagName(tag).item(0).textContent = text;
	} else{
	   doc.getElementsByTagName(tag).item(0).innerText = text;
	}
}

function getTagElement(doc, tags)
{
   return doc.getElementsByTagName(tag).item(0);
}

function xmlParam(tag, value)
{
	return '<' + tag + '>' + value + '</'+ tag + '>';
}

function xmlHtmlParam(tag, value)
{
	return '<' + tag + '>' + addSpecials(value) + '</'+ tag + '>';
}

function xmlHtmlIdParam(tag, id)
{
	return '<' + tag + '>' + addSpecials(document.getElementById(prefix + id).value) + '</'+ tag + '>';
}


// do a soap request
function doSoap(url, ns, method, params, callback)
{
  xmlRequest = HttpRequest.create();
  xmlRequest.open('POST', url, true);
  var sr =
  '<?xml version="1.0" encoding="utf-8"?>' +
  '<soap:Envelope ' +
  'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
  'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
  'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
  '<soap:Body>' +
  '<' + method + ' xmlns="' + ns + '">' +
  params +
  '</' + method + '></soap:Body></soap:Envelope>';
  // send request
  var soapaction = ((ns.lastIndexOf('/') != ns.length - 1) ? ns + '/' : ns) + method;
  xmlRequest.setRequestHeader('SOAPAction', soapaction);
  xmlRequest.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
  xmlRequest.onreadystatechange = callback;
  xmlRequest.send(sr);
  return xmlRequest;
}
function doSoapSync(url, ns, method, params)
{
  xmlRequest = HttpRequest.create();
  xmlRequest.open('POST', url, false);
  var sr =
  '<?xml version="1.0" encoding="utf-8"?>' +
  '<soap:Envelope ' +
  'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
  'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
  'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
  '<soap:Body>' +
  '<' + method + ' xmlns="' + ns + '">' +
  params +
  '</' + method + '></soap:Body></soap:Envelope>';
  // send request
  var soapaction = ((ns.lastIndexOf('/') != ns.length - 1) ? ns + '/' : ns) + method;
  xmlRequest.setRequestHeader('SOAPAction', soapaction);
  xmlRequest.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
  xmlRequest.send(sr);
  return xmlRequest;
}

//Maintenance funtions (not yet implemented)

function MenuOnderhoud()
{
}

function dummyCallback()
{
}

// page related functions
function Pagina()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
      if (typeof(pagetransform) == 'undefined' )
      {
        pagetransform = new XslTransformer('Page.xsl');
      }
      var node = document.getElementById(MenuId);
      pagetransform.SetParam('flags', flags);
      pagetransform.ToNode(node, doc);
      node.innerHTML = removeSpecials(node.innerHTML);
      if (MenuId == prefix + 'HotNews')
      {
		var divs = document.getElementsByTagName('div');
		for (var i = 0; i < divs.length; i++)
		{
			if (divs[i].className == 'com_htmli_ui_Tab__selected')
			{
				menu_script = divs[i].getAttribute('script');
				eval(menu_script);
				return;  
			}        
		}
	  }         
      page_Init(node);   
    }
    catch (e)
    {
      alert('badHttpMessage' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    xmlRequest = null;
  }
}

function loadPage(callback, method, args)
{
  var params = '';
  if (args[0] instanceof Array)
  {
    for (arg in args)
    {
      params += xmlParam(args[arg][0], args[arg][1]);
      eval(args[arg][0] + '="' + args[arg][1] + '"');
    }
    if ((method == 'ActPresence') && (flags.indexOf('Z') != -1))
    {
        params += xmlParam('UserId', -1);
    }
    else
    {
        params += xmlParam('UserId', userid);
    }
    params += xmlParam('Naam', naam);
  }
  else
  {
    params += xmlParam(args[0], args[1]);
    if ((method == 'ActPresence') && (flags.indexOf('Z') != -1))
    {
        params += xmlParam('UserId', -1);
    }
    else
    {
        params += xmlParam('UserId', userid);
    }
    params += xmlParam('Naam', naam);
    eval(args[0] + '="' + args[1] + '"');
  }
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  method,
  params,
  callback);
}

function selectMenu(id, callback, method, arg)
{
  MenuId = id;
  loadPage(callback, method, arg);
}

function pageCallback()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het laden van pagina' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    
    var pageid  = getTagTextElementNs(doc,'PageId', ns1); 
    var footer = getTagTextElementNs(doc,'Footer', ns1);   
    var header  = getTagTextElementNs(doc,'Header', ns1);   
    
    document.getElementById(prefix + 'PageTitle').value = removeSpecials(getTagTextElementNs(doc,'Title', ns1));
    document.getElementById(prefix + 'PageBackGround').value = removeSpecials(getTagTextElementNs(doc,'Background', ns1));
    document.getElementById(prefix + 'AddPermissions').value = removeSpecials(getTagTextElementNs(doc,'AddPermissions', ns1));
    document.getElementById(prefix + 'PageFlags').value = removeSpecials(getTagTextElementNs(doc,'Flags', ns1));
    document.getElementById(prefix + 'Section').value = removeSpecials(getTagTextElementNs(doc,'Section', ns1));
    document.getElementById(prefix + 'SectionStart').value = removeSpecials(getTagTextElementNs(doc,'SectionStart', ns1));
    document.getElementById(prefix + 'SectionEnd').value = removeSpecials(getTagTextElementNs(doc,'SectionEnd', ns1));
    document.getElementById(prefix + 'HeaderStart').value = removeSpecials(getTagTextElementNs(doc,'HeaderStart', ns1));
    document.getElementById(prefix + 'HeaderEnd').value = removeSpecials(getTagTextElementNs(doc,'HeaderEnd', ns1));
    document.getElementById(prefix + 'PageTitleStart').value = removeSpecials(getTagTextElementNs(doc,'TitleStart', ns1));
    document.getElementById(prefix + 'PageTitleEnd').value = removeSpecials(getTagTextElementNs(doc,'TitleEnd', ns1));
    document.getElementById(prefix + 'MainTitleStart').value = removeSpecials(getTagTextElementNs(doc,'MainTitleStart', ns1));
    document.getElementById(prefix + 'MainTitleEnd').value = removeSpecials(getTagTextElementNs(doc,'MainTitleEnd', ns1));
    document.getElementById(prefix + 'PageStart').value = removeSpecials(getTagTextElementNs(doc,'PageStart', ns1));
    document.getElementById(prefix + 'PageEnd').value = removeSpecials(getTagTextElementNs(doc,'PageEnd', ns1));
    document.getElementById(prefix + 'PageId').innerHTML = pageid;

    var headerContainer = _h1(document.getElementById(prefix + 'PagetxtHeader'))
    var footerContainer = _h1(document.getElementById(prefix + 'PagetxtFooter'))    
    headerContainer.setHTMLContents(removeSpecials(header));
    footerContainer.setHTMLContents(removeSpecials(footer));
    var wnd = _h1(document.getElementById(prefix + 'wndPage')); 
    if (firstTimePage)
    {   
    wnd.open();
    headerContainer.start();
    footerContainer.start();    
    wnd.close();
    firstTimePage = false;
    }
       
    wnd.openExclusive();
    
    wnd.maximize();
    xmlRequest = null;
  }
}

function UpdatePagina()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het laden van pagina' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    
    var pageid  = getTagTextElementNs(doc,'PageId', ns1); 
    params = xmlParam('UserId', userid);
    params += xmlParam('Naam', naam);
    params += xmlParam('PageId', pageid);
    doSoap(
      './Info.asmx',
      'http://de-wolff.org',
      'Pagina',
      params,
      Pagina);    
  }
}

function pageChange(page)
{
  params = xmlParam('UserId', userid) + xmlParam('Naam', naam) + xmlParam('PageId', page);
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'Pagina',
  params,
  pageCallback);
}

function ApplyPage()
{
  var headerContainer = _h1(document.getElementById(prefix + 'PagetxtHeader'))
  var footerContainer = _h1(document.getElementById(prefix + 'PagetxtFooter'))    
  params = xmlParam('UserId', userid) + xmlParam('Naam', naam) 
  + xmlParam('ThePage', 
  xmlParam('PageId', document.getElementById(prefix + 'PageId').innerHTML) +    
  xmlHtmlIdParam('Title', 'PageTitle') + 
  xmlHtmlIdParam('Background', 'PageBackGround') + 
  xmlHtmlIdParam('AddPermissions', 'AddPermissions') + 
  xmlHtmlIdParam('Flags', 'PageFlags') +
  xmlHtmlIdParam('Section', 'Section') + 
  xmlHtmlIdParam('SectionStart', 'SectionStart') + 
  xmlHtmlIdParam('SectionEnd', 'SectionEnd') + 
  xmlHtmlIdParam('HeaderStart', 'HeaderStart') + 
  xmlHtmlIdParam('HeaderEnd', 'HeaderEnd') + 
  xmlHtmlIdParam('TitleStart', 'PageTitleStart') + 
  xmlHtmlIdParam('TitleEnd', 'PageTitleEnd') + 
  xmlHtmlIdParam('MainTitleStart', 'MainTitleStart') + 
  xmlHtmlIdParam('MainTitleEnd', 'MainTitleEnd') + 
  xmlHtmlIdParam('PageStart', 'PageStart') + 
  xmlHtmlIdParam('PageEnd', 'PageEnd') + 
  xmlHtmlParam('Header', headerContainer.getHTMLContents()) + 
  xmlHtmlParam('Footer', footerContainer.getHTMLContents()));
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'UpdatePagina',
  params,
  UpdatePagina);              
}

function SavePage()
{
    ApplyPage();
    CancelPage();
}

function CancelPage()
{
    var wnd = _h1(document.getElementById(prefix + 'wndPage'));        
    wnd.close();
}

// all functions for presence handling
function TogglePresence()
{
  if (xmlRequest.readyState == 4)
  {
    doc = XmlDocument.create();
    doc.loadXML(xmlRequest.responseText);
    var ns1 = 'http://de-wolff.org';
    var _userid  = getTagTextElementNs(doc,'UserId', ns1);
    var day  = getTagTextElementNs(doc,'Day', ns1);
    var month  = getTagTextElementNs(doc,'Month', ns1);
    var year  = getTagTextElementNs(doc,'Year', ns1);
    var gone  = getTagTextElementNs(doc,'PersonGone', ns1);
    
    var toggle_id='p'+ _userid + 'day'+ day;
    var node = document.getElementById(toggle_id);
    if (gone == 'true')
    {
      node.setAttribute('className', node.getAttribute('subclass'));
      node.setAttribute('class', node.getAttribute('subclass'));
    }
    else
    {
      node.setAttribute('className', 'FreeNa');
      node.setAttribute('class', 'FreeNa');
    }
  }
}
function PresenceToggle(person, day, month, year)
{
  params = xmlParam('UserId', person);
  params += xmlParam('Naam', naam);
  params += xmlParam('Day', day);
  params += xmlParam('Month', month);
  params += xmlParam('Year', year);
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'TogglePresence',
  params,
  TogglePresence);              
}

function monthPresence(month, year)
{
    if (flags.indexOf('Z') != -1)
    {
	  params = xmlParam('UserId', -1);
    }
    else
    {
	  params = xmlParam('UserId', userid);
    }
  params += xmlParam('Naam', naam);
  params += xmlParam('Month', month);
  params += xmlParam('Year', year);
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'ActPresence',
  params,
  ActPresence);
}

function nextMonthPresence(month, year)
{
  month ++;
  if (month == 13)
  {
    month = 1;
    year++;
  }
  monthPresence(month, year);
}

function prevMonthPresence(month, year)
{
  month --;
  if (month == 0)
  {
    month = 12;
    year--;
  }
  monthPresence(month, year);
}

function ActPresence()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
      var node = document.getElementById(MenuId);
      var transform = new XslTransformer('ActPresence.xsl');
      if (flags.indexOf('Z') == -1)
      {
        transform.SetParam('userid', userid);
      }
      else
      {
        transform.SetParam('userid', -1);
      }
      transform.ToNode(node, doc);
      //node.innerHTML = removeSpecials(node.innerHTML);
      tt_Init(node);
    }
    catch (e)
    {
      alert('badHttpMessage' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    xmlRequest = null;
  }
}

function Presence()
{
  if (xmlRequest.readyState == 4)
  {
    var node = document.getElementById(MenuId);
    node.innerHTML = 'Nog even geduld voor deze pagina';
  }
}

// user related functions 
function User()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
      var node = document.getElementById(MenuId);      
      var transform = new XslTransformer('User.xsl');
      if (flags.indexOf('Z') == -1)
      {
        transform.SetParam('userid', userid);
      }
      else
      {
        transform.SetParam('userid', -1);
      }
      transform.ToNode(node, doc);
      node.innerHTML = removeSpecials(node.innerHTML);
      tt_Init(node);
    }
    catch (e)
    {
      alert('badHttpMessage' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    xmlRequest = null;
  }
}
function userCallback()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het laden van gebruiker' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    /*
<Voornaam>Jaap</Voornaam>
<Tussenvoegsel>de</Tussenvoegsel>
<Achternaam>Wolff</Achternaam>
<Adres>Da Costastraat 5</Adres>
<Postcode>3331EB</Postcode>
<Woonplaats>Zwijndrecht</Woonplaats>
<Telefoon>078-6192420</Telefoon>
<Mobiel>06-28193773</Mobiel>
<Email>jaap@de-wolff.org</Email>
<BirthDay><Waarde>maandag 23 januari 1961</Waarde><Dag>23</Dag><Maand>1</Maand><Jaar>1961</Jaar></BirthDay>
<StartLidmaatschap><Waarde>donderdag 1 april 2004</Waarde><Dag>1</Dag><Maand>4</Maand><Jaar>2004</Jaar></StartLidmaatschap>
<ImageLink>afbeeldingen/koorleden/jaap1.jpg</ImageLink>
<UserId>4</UserId>
<User>Jaap</User>
<Flags>LATPQ</Flags>
<Info><Info>
*/

    document.getElementById(prefix + 'UserId').innerHTML = getTagTextElementNs(doc,'UserId', ns1); 
    document.getElementById(prefix + 'UserUser').innerHTML = getTagTextElementNs(doc,'User', ns1); 
    document.getElementById(prefix + 'UserFlags').innerHTML = getTagTextElementNs(doc,'Flags', ns1); 
    document.getElementById(prefix + 'UserImageLink').innerHTML = getTagTextElementNs(doc,'ImageLink', ns1); 
    document.getElementById(prefix + 'UserVoornaam').value = getTagTextElementNs(doc,'Voornaam', ns1); 
    document.getElementById(prefix + 'UserTussenvoegsel').value = getTagTextElementNs(doc,'Tussenvoegsel', ns1); 
    document.getElementById(prefix + 'UserAchternaam').value = getTagTextElementNs(doc,'Achternaam', ns1); 
    document.getElementById(prefix + 'UserAddress').value = getTagTextElementNs(doc,'Adres', ns1); 
    document.getElementById(prefix + 'UserPostcode').value = getTagTextElementNs(doc,'Postcode', ns1); 
    document.getElementById(prefix + 'UserResidence').value = getTagTextElementNs(doc,'Woonplaats', ns1); 
    document.getElementById(prefix + 'UserTelefoon').value = getTagTextElementNs(doc,'Telefoon', ns1); 
    document.getElementById(prefix + 'UserMobiel').value = getTagTextElementNs(doc,'Mobiel', ns1); 
    document.getElementById(prefix + 'UserEmail').value = getTagTextElementNs(doc,'Email', ns1); 
    document.getElementById(prefix + 'UserDag').value = getTagTextElementNs(getTagElementNs(doc,'BirthDay', ns1), 'Dag', ns1); 
    document.getElementById(prefix + 'UserMaand').value = getTagTextElementNs(getTagElementNs(doc,'BirthDay', ns1), 'Maand', ns1); 
    document.getElementById(prefix + 'UserJaar').value = getTagTextElementNs(getTagElementNs(doc,'BirthDay', ns1), 'Jaar', ns1); 
    document.getElementById(prefix + 'UserLidDag').value = getTagTextElementNs(getTagElementNs(doc,'StartLidmaatschap', ns1), 'Dag', ns1); 
    document.getElementById(prefix + 'UserLidMaand').value = getTagTextElementNs(getTagElementNs(doc,'StartLidmaatschap', ns1), 'Maand', ns1); 
    document.getElementById(prefix + 'UserLidJaar').value = getTagTextElementNs(getTagElementNs(doc,'StartLidmaatschap', ns1), 'Jaar', ns1); 
    var wnd = _h1(document.getElementById(prefix + 'wndUser')); 
    var info = removeSpecials(getTagTextElementNs(doc,'Info', ns1)); 
    var infoContainer = _h1(document.getElementById(prefix + 'UsertxtInfo'))
    infoContainer.setHTMLContents(info);
    
    if (firstTimeUser)
    {   
    wnd.open();
    infoContainer.start();
    wnd.close();
    firstTimeUser = false;
    }
    
    wnd.openExclusive();
    wnd.maximize();
    xmlRequest = null;
  }
}

function UpdateUser()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het updaten van user' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    params = '<UserId>'+ userid +'</UserId>';
    params += '<Naam>'+ naam +'</Naam>';
    doSoap(
      './Info.asmx',
      'http://de-wolff.org',
      'User',
      params,
      User);         
  }
}
/*
function userAdd(page, flags)
{
    var wnd = _h1(document.getElementById(prefix + 'wndUser')); 
    document.getElementById(prefix + 'UserId').innerHTML = 0;
    document.getElementById(prefix + 'UserPageId').innerHTML = page;
    document.getElementById(prefix + 'UserTitle').value = ''; 
    document.getElementById(prefix + 'UserOrder').value = 0;       
    wnd.openExclusive();
      try
      {
        var logDoc = document.getElementById(prefix + 'UsertxtUser').contentDocument; 
        document.getElementById(prefix + 'UserPageId').innerHTML = page; 	    
        document.getElementById(prefix + 'UserName').value = naam;
        document.getElementById(prefix + 'UserResidence').value = woonplaats;
        document.getElementById(prefix + 'UserOrder').value = 0;
 		       
        
      }
      catch(e)
      {
      }
    wnd.maximize();
    xmlRequest = null;
}
*/
function ApplyUser()
{
  var infoContainer = _h1(document.getElementById(prefix + 'UsertxtInfo'))
  params = xmlParam('UserId', userid);
  params += xmlParam('Naam', naam);
  params += xmlParam('UI', 
  xmlParam('UserId', document.getElementById(prefix + 'UserId').innerHTML) +
  xmlParam('User', document.getElementById(prefix + 'UserUser').innerHTML) + 
  xmlParam('Flags', document.getElementById(prefix + 'UserFlags').innerHTML) + 
  xmlParam('ImageLink', document.getElementById(prefix + 'UserImageLink').innerHTML)  + 
  xmlHtmlIdParam('Voornaam', 'UserVoornaam') + 
  xmlHtmlIdParam('Tussenvoegsel', 'UserTussenvoegsel') + 
  xmlHtmlIdParam('Achternaam', 'UserAchternaam') + 
  xmlHtmlIdParam('Adres', 'UserAddress') +
  xmlHtmlIdParam('Postcode', 'UserPostcode') + 
  xmlHtmlIdParam('Woonplaats', 'UserResidence') +
  xmlHtmlIdParam('Telefoon', 'UserTelefoon') +
  xmlHtmlIdParam('Mobiel', 'UserMobiel') +
  xmlHtmlIdParam('Email', 'UserEmail') +
  xmlParam('BirthDay',
  xmlHtmlIdParam('Dag', 'UserDag') +
  xmlHtmlIdParam('Maand', 'UserMaand') +
  xmlHtmlIdParam('Jaar', 'UserJaar')) +
  xmlParam('StartLidmaatschap',
  xmlHtmlIdParam('Dag', 'UserLidDag') +
  xmlHtmlIdParam('Maand', 'UserLidMaand') +
  xmlHtmlIdParam('Jaar', 'UserLidJaar')) + 
  xmlHtmlParam('Info', infoContainer.getHTMLContents()));
  
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'UpdateLongUser',
  params,
  UpdateUser);              
}

function SaveUser()
{
    ApplyUser();
    CancelUser();
}

function CancelUser()
{
    var wnd = _h1(document.getElementById(prefix + 'wndUser')); 
    wnd.close();
}

function editPerson(user)
{
  params = '<UserId>'+ user +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'LongUser',
  params,
  userCallback);
}

function removePerson(user)
{
  params = '<UserId>'+ user +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'RemoveUser',
  params,
  dummyCallback);
}

// article related functions
function articleCallback()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het laden van artikel' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    var summary = getTagTextElementNs(doc,'Summary', ns1);   
    var article  = getTagTextElementNs(doc,'Article', ns1);   
    
    var title  = getTagTextElementNs(doc,'Title', ns1);   
    var name  = getTagTextElementNs(doc,'Naam', ns1);   
    var residence  = getTagTextElementNs(doc,'Woonplaats', ns1);   
    var order  = getTagTextElementNs(doc,'Order', ns1); 
    var id  = getTagTextElementNs(doc,'ArticleId', ns1); 
    var pageid  = getTagTextElementNs(doc,'PageId', ns1); 
    document.getElementById(prefix + 'ArticleId').innerHTML = id;
    document.getElementById(prefix + 'ArticlePageId').innerHTML = pageid;
    document.getElementById(prefix + 'ArticleTitle').value = title; 
    document.getElementById(prefix + 'ArticleName').value = name;
    document.getElementById(prefix + 'ArticleResidence').value = residence;
    document.getElementById(prefix + 'ArticleOrder').value = order;

    var artContainer = _h1(document.getElementById(prefix + 'ArticletxtArticle'))
    var sumContainer = _h1(document.getElementById(prefix + 'ArticletxtSummary'))    
    artContainer.setHTMLContents(removeSpecials(article));
    sumContainer.setHTMLContents(removeSpecials(summary));
    var wnd = _h1(document.getElementById(prefix + 'wndArticle')); 
    
    if (firstTimeArticle)
    {   
    wnd.open();
    artContainer.start();
    sumContainer.start();    
    wnd.close();
    firstTimeArticle = false;
    }
    wnd.openExclusive();    
    wnd.maximize();
    xmlRequest = null;
  }
}

function UpdateArticle()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het updaten van artikel' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    var id  = getTagTextElementNs(doc,'ArticleId', ns1); 
    document.getElementById(prefix + 'ArticleId').innerHTML = id;   
    var pageid  = getTagTextElementNs(doc,'PageId', ns1); 
    params = '<UserId>'+ userid +'</UserId>';
    params += '<Naam>'+ naam +'</Naam>';
    params += '<PageId>'+ pageid +'</PageId>';
    doSoap(
      './Info.asmx',
      'http://de-wolff.org',
      'Pagina',
      params,
      Pagina);         
  }
}

function articleAdd(page, flags)
{
    var artContainer = _h1(document.getElementById(prefix + 'ArticletxtArticle'))
    var sumContainer = _h1(document.getElementById(prefix + 'ArticletxtSummary'))    
    var wnd = _h1(document.getElementById(prefix + 'wndArticle')); 
    document.getElementById(prefix + 'ArticleId').innerHTML = 0;
    document.getElementById(prefix + 'ArticlePageId').innerHTML = page;
    document.getElementById(prefix + 'ArticleTitle').value = ''; 
    document.getElementById(prefix + 'ArticleOrder').value = 0;
    artContainer.setHTMLContents('');
    sumContainer.setHTMLContents('');
       
    wnd.openExclusive();
      try
      {
        document.getElementById(prefix + 'ArticlePageId').innerHTML = page; 	    
        document.getElementById(prefix + 'ArticleName').value = naam;
        document.getElementById(prefix + 'ArticleResidence').value = woonplaats;
        document.getElementById(prefix + 'ArticleOrder').value = 0;
    	       
        
      }
      catch(e)
      {
      }   
    wnd.maximize();
    artContainer.start();
    sumContainer.start();
    xmlRequest = null;
}

function ApplyArticle()
{
    var artContainer = _h1(document.getElementById(prefix + 'ArticletxtArticle'))
    var sumContainer = _h1(document.getElementById(prefix + 'ArticletxtSummary'))    
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<TheArticle>';
  params += '<ArticleId>'+ document.getElementById(prefix + 'ArticleId').innerHTML +'</ArticleId>';
  params += '<PageId>'+ document.getElementById(prefix + 'ArticlePageId').innerHTML +'</PageId>';
  params += '<Order>'+ document.getElementById(prefix + 'ArticleOrder').value +'</Order>';
  params += '<Title>'+ document.getElementById(prefix + 'ArticleTitle').value +'</Title>';
  params += '<Naam>'+ document.getElementById(prefix + 'ArticleName').value +'</Naam>';
  params += '<Woonplaats>'+ document.getElementById(prefix + 'ArticleResidence').value +'</Woonplaats>';
  params += '<Summary>'+ addSpecials(sumContainer.getHTMLContents()) +'</Summary>';
  params += '<Article>'+ addSpecials(artContainer.getHTMLContents()) +'</Article>';
  params += '</TheArticle>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'UpdateArticle',
  params,
  UpdateArticle);              
}

function SaveArticle()
{
    ApplyArticle();
    CancelArticle();
}

function CancelArticle()
{
    var wnd = _h1(document.getElementById(prefix + 'wndArticle')); 
    wnd.close();
}

function articleChange(page, article, flags)
{
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<ArticleId>'+ article +'</ArticleId>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'GetArticle',
  params,
  articleCallback);
}
function articleRemove(page, article, flags)
{
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<ArticleId>'+ article +'</ArticleId>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'RemoveArticle',
  params,
  dummyCallback);
}

function showArticle(id)
{
  var node_src = document.getElementById('article'+ id);
  var node_dst = document.getElementById(prefix + 'ShowArticleDiv');
  node_dst.innerHTML = node_src.innerHTML;
  var wnd = _h1(document.getElementById(prefix + 'ShowArticle'));
  wnd.openExclusive();
  wnd.maximize();
}

function closeArticle()
{
  _h1(document.getElementById(prefix + 'wndArticle')).close();
}

// link related functions
function UpdateLink()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
    }
    catch (e)
    {
      alert('fout bij het updaten van link' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
    var ns1 = 'http://de-wolff.org';
    var id  = getTagTextElementNs(doc,'LinkId', ns1); 
    document.getElementById(prefix + 'LinkId').innerHTML = id;   
    var pageid  = getTagTextElementNs(doc,'PageId', ns1); 
    params = '<UserId>'+ userid +'</UserId>';
    params += '<Naam>'+ naam +'</Naam>';
    params += '<PageId>'+ pageid +'</PageId>';
    doSoap(
      './Info.asmx',
      'http://de-wolff.org',
      'Pagina',
      params,
      Pagina);         
  }
}

function linkAdd(page, flags)
{
    var wnd = _h1(document.getElementById(prefix + 'wndLink')); 
    document.getElementById(prefix + 'LinkId').innerHTML = 0;
    document.getElementById(prefix + 'LinkPageId').innerHTML = page;
    document.getElementById(prefix + 'LinkOrder').value = 0;
    document.getElementById(prefix + 'LinkUrl').value = '';
    document.getElementById(prefix + 'LinkText').value = '';
    document.getElementById(prefix + 'LinkLabel').value = '';
    wnd.openExclusive();
}

function linkChange(page, link, label, text, url, order)
{
    var wnd = _h1(document.getElementById(prefix + 'wndLink')); 
    document.getElementById(prefix + 'LinkId').innerHTML = link;
    document.getElementById(prefix + 'LinkPageId').innerHTML = page;
    document.getElementById(prefix + 'LinkOrder').value = order;
    document.getElementById(prefix + 'LinkUrl').value = unescape(url);
    document.getElementById(prefix + 'LinkText').value = text;
    document.getElementById(prefix + 'LinkLabel').value = label;
    wnd.openExclusive();
}

function linkRemove(link, flags)
{
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<LinkId>'+ link +'</LinkId>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'RemoveLink',
  params,
  UpdateLink);
}

function ApplyLink()
{
    var artContainer = _h1(document.getElementById(prefix + 'ArticletxtArticle'))
    var sumContainer = _h1(document.getElementById(prefix + 'ArticletxtSummary'))    
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<TheLink>';
  params += '<LinkId>'+ document.getElementById(prefix + 'LinkId').innerHTML +'</LinkId>';
  params += '<PageId>'+ document.getElementById(prefix + 'LinkPageId').innerHTML +'</PageId>';
  params += '<Order>'+ document.getElementById(prefix + 'LinkOrder').value +'</Order>';
  params += '<Url>'+ document.getElementById(prefix + 'LinkUrl').value +'</Url>';
  params += '<Text>'+ document.getElementById(prefix + 'LinkText').value +'</Text>';
  params += '<Label>'+ document.getElementById(prefix + 'LinkLabel').value +'</Label>';
  params += '</TheLink>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'UpdateLink',
  params,
  UpdateLink);              
}

function SaveLink()
{
    ApplyLink();
    CancelLink();
}

function CancelLink()
{
  _h1(document.getElementById(prefix + 'wndLink')).close();
}

// menu related functions 
function handleMenu()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);

      if (typeof(menu_transform) == 'undefined' )
      {
		menu_transform = new XslTransformer('GetMenu.xsl'); 
      }
      var menu = menu_transform.ToDoc(doc);
      if (typeof(step1_transform) == 'undefined' )
      {
		step1_transform = new XslTransformer('step1.xsl'); 
      }
      var node = document.getElementById(prefix + 'Centre');
      step1_transform.ToNode(node, menu);
    }
    catch (e)
    {
      alert('fout bij het laden van menu' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
	var news = document.getElementById(prefix + 'HotNews')
    menu_script = news.getAttribute('script');
	eval(menu_script);
    resize();
  }
}

function getMenu(flags)
{
  params = '<UserId>'+ userid +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<Flags>'+ flags +'</Flags>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'GetMenu',
  params,
  handleMenu);
}

// authentication
function logonCallback()
{
  if (xmlRequest.readyState == 4)
  {
    try
    {
      doc = XmlDocument.create();
      doc.loadXML(xmlRequest.responseText);
      var ns1 = 'http://de-wolff.org';
      var errs;
      
      if (typeof(doc.getElementsByTagNameNS) != 'undefined') // no IE
      {
        errs = doc.getElementsByTagNameNS(ns1, 'ErrorText');
      }
      else
      {
        errs = doc.getElementsByTagName('ErrorText');
      }
      if (errs.length != 0)
      {
        if (typeof(errs.item(0).textContent) != 'undefined')
        {
          alert(errs.item(0).textContent);
        }
        else
        {
          alert(errs.item(0).text);
        }
      }
      else
      {
        userid = getTagTextElementNs(doc,'UserId', ns1);   
        naam = getTagTextElementNs(doc,'Naam', ns1);   
        flags =  getTagTextElementNs(doc,'Flags', ns1);   
        woonplaats = getTagTextElementNs(doc,'Woonplaats', ns1);   
        if (flags.indexOf('A') != -1)
        {
          document.getElementById(prefix + 'menu-admin').style.display='';          
        }
		document.getElementById(prefix + 'menu-pwd').style.display=''; 
		document.getElementById(prefix + 'menu-logoff').style.display='';         
		login_xml = _h1(document.getElementById(prefix + 'xmlLogin')).getXmlDocument();
		if (getTagTextElement(login_xml, 'Password') == '')
		{
			ChangeMyPassword();
		}       
        getMenu(flags);		
      }
    }
    catch (e)
    {
      alert('fout bij inloggen' + xmlRequest.status + ' ' + xmlRequest.statusText + '  ' + e);
    }
  }
}

function admin()
{
  if (flags.indexOf('Z') == -1)
  {
    flags += 'Z';
    _h1(document.getElementById(prefix + 'menu-admin')).setChecked(true);
    init_adminRTBar(document);
    document.getElementById(prefix + 'SummaryTxtDiv').style.display=''; 
    document.getElementById(prefix + 'ArticletxtArticle').style.height='150px'; 
	var news = document.getElementById(prefix + 'HotNews')
    menu_script = news.getAttribute('script');
	eval(menu_script);    
  }
  else
  {
    flags = flags.substring(0, flags.indexOf('Z') - 1);
    _h1(document.getElementById(prefix + 'menu-admin')).setChecked(false);
    exit_adminRTBar(document);
    document.getElementById(prefix + 'SummaryTxtDiv').style.display='none';     
    document.getElementById(prefix + 'ArticletxtArticle').style.height='300px'; 
	var news = document.getElementById(prefix + 'HotNews')
    menu_script = news.getAttribute('script');
	eval(menu_script);    
  }
}

function DoLogon()
{
  _h1(document.getElementById(prefix + 'Login')).close();
  var login_xml = _h1(document.getElementById(prefix + 'xmlLogin')).getXmlDocument();
  params = '<Naam>' + getTagTextElement(login_xml, 'Naam') + '</Naam>';
  params += '<Password>' + getTagTextElement(login_xml, 'Password') + '</Password>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'Login',
  params,
  logonCallback);
}

function StopLogon()
{
  _h1(document.getElementById(prefix + 'Login')).close();
}

function ChangeMyPassword()
{
  _h1(document.getElementById(prefix + 'ChgPwd')).openExclusive();
  return false;
}

function changePassword(user, password)
{
  params = '<UserId>'+ user +'</UserId>';
  params += '<Naam>'+ naam +'</Naam>';
  params += '<Password>'+ password +'</Password>';
  doSoap(
  './Info.asmx',
  'http://de-wolff.org',
  'ChangePassword',
  params,
  dummyCallback);
}

function StopChgPwd()
{
  _h1(document.getElementById(prefix + 'ChgPwd')).close();
  var pwd_xml = _h1(document.getElementById(prefix + 'xmlChgPwd')).getXmlDocument();
  setTagTextElement(pwd_xml, 'OldPassword','');
  setTagTextElement(pwd_xml, 'NewPassword1','');
  setTagTextElement(pwd_xml, 'NewPassword2','');
}

function DoChgPwd()
{
  var login_xml = _h1(document.getElementById(prefix + 'xmlLogin')).getXmlDocument();
  var password = getTagTextElement(login_xml, 'Password');
  
  var pwd_xml = _h1(document.getElementById(prefix + 'xmlChgPwd')).getXmlDocument();
  var old_password = getTagTextElement(pwd_xml, 'OldPassword');
  var new_password1 = getTagTextElement(pwd_xml, 'NewPassword1');
  var new_password2 = getTagTextElement(pwd_xml, 'NewPassword2');
  if (password != old_password)
  {
    alert('wachtwoord niet juist');
	return;
  }
  if (new_password1 != new_password2)
  {
    alert('beide nieuwe wachtwoorden niet gelijk');
	return;
  }
  _h1(document.getElementById(prefix + 'ChgPwd')).close();
  changePassword(userid, new_password1);
}


function removePassword(user)
{
  changePassword(user, '');
}



function logon()
{
  _h1(document.getElementById(prefix + 'Login')).openExclusive();
  return false;
}

function logoff()
{
  userid = 0;
  naam = 'anoniem';
  woonplaats = '';
  flags= '';
  document.getElementById(prefix + 'menu-pwd').style.display='none'; 
  document.getElementById(prefix + 'menu-logoff').style.display='none'; 
  document.getElementById(prefix + 'menu-admin').style.display='none';   
  getMenu('');
  return false;
}
function selectMenuId(node, id)
{
    var childs = node.getChildNodes();
    // find the index of the given item
    var index = 0;
    for (index = 0; index < childs.getLength(); index++)
    {
        if ((childs.item(index).getId() == id) ||
            (childs.item(index).getFirstChild().getId() == id))
        
        {
            node.setSelectedIndex(index) ;
            node.focusChild(index) ;
        }
    }
}

function selectTab(nr)
{
    var item_id = 'Menu' + nr;
    var item = _h1(document.getElementById(item_id));
    var node = item.getParentNode();
	var newEvent = application.createEvent('HTMLiEvents');
	newEvent.initHTMLiEvent('headerclick', item);
	do
	{
	    selectMenuId(node, item_id);
    	item_id = node.getId();
	    node = node.getParentNode();
	    if (node.getTagName() == "Tab")
	    {
    	    node = node.getParentNode();
	    }
	    else
	    {
	        node = null;
	    }
	    
	} while (node != null);
	item.dispatchEvent(newEvent);

}

function check_reserveren()
{
    var name = document.getElementById('achternaam');
    var email = document.getElementById('email');
    var kaarten = document.getElementById('kaarten');
    var ok = true;
    if ((name == null) || (name.value == null) || (name.value.length < 2))
    {
        alert('geen naam ingevuld');
        ok = false;
    }
    var regexp = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    if ((email == null) || (email.value == null) || !(regexp.exec(email.value)))
    {
        alert('geen (geldig) email adres ingevuld');
        ok = false;
    }
    if ((kaarten == null) || (kaarten.value == null) || !(kaarten.value*1 > 0))
    {
        alert('geen (juist) aantal kaarten ingevuld');
        ok = false;
    }
    return ok;
}
function setIframeCss(name, stylesheet)
{
  var doc = document.getElementById(prefix + name).contentWindow.document; 
  var head = doc.getElementsByTagName('head').item(0); 
  try
  {
    var sheetLink = doc.createElement('link'); 
    sheetLink.setAttribute('rel', 'stylesheet'); 
    sheetLink.setAttribute('href', stylesheet); 
    sheetLink.setAttribute('type', 'text/css'); 
    head.appendChild(sheetLink); 
  }
  catch(e)
  {    
//    head.innerHTML = "<title></title><link rel='stylesheet' href='"+ stylesheet +"' type='text/css' />";
  }
}
// init page first time
function init()
{
  hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;

  _h1(document.getElementById(prefix + 'xslLogin')).refresh();
  _h1(document.getElementById(prefix + 'xslChgPwd')).refresh();
  _h1(document.getElementById(prefix + 'slShow')).play();
  
  document.getElementById(prefix + 'menu-pwd').style.display='none'; 
  document.getElementById(prefix + 'menu-logoff').style.display='none'; 
  document.getElementById(prefix + 'menu-admin').style.display='none'; 
  document.getElementById(prefix + 'SummaryTxtDiv').style.display='none'; 
  tt_Init(document);
  getMenu('');
}


