var d = document;

String.prototype.reverse = function() { var s = '', i = this.length; while (i--) { s += this.charAt( i ); } return s; };
Array.prototype.indexOf = function( n ) { for(var i = 0; i<this.length; i++) { if( this[i]===n ) { return i; } } return -1; };

var space=new String(' \t\n\r\f');
function trimL(s) {if(space.indexOf(s.charAt(0))!==-1) {var j=0,i=s.length;while(j<i&&space.indexOf(s.charAt(j))!=-1){j++;}s=s.substring(j,i);}return s;}
function trimR(s) {if(space.indexOf(s.charAt(s.length-1))!=-1) {var i=s.length-1;while(i>=0&&space.indexOf(s.charAt(i))!==-1){i--;}s=s.substring(0,i+1);}return s;}
function trim(s) {return trimR(trimL(s));}

var pr=[];
function preload() { if(window.Image) { var p = preload.arguments, i = p.length; while(i--) { pr[i] = new Image(); pr[i].src = p[i]; } } }

var hola=null;
function hop(e) {if(e&&!hola&&window.navigator.platform.indexOf('Mac')===-1) {
 var i,x,y=Math.random()*40+40; hola=e.firstChild;
 for(i=0;i<y;i+=0.2) {
  x=Math.abs(Math.round(Math.sin(i/(4-2*(i/y)))*(1-(i/y)*(i/y))*40));
  setTimeout('hola.style.paddingRight=\''+x+'px\';',y*i*1.5);
 } setTimeout('hola=null;',y*i*1.5);
}}

function gid(e) {
  if( d.getElementById && d.getElementById(e) ) { return d.getElementById(e); }
  if( d.all && d.all[e] ) { return d.all[e]; }
  if( typeof e!=='string' ) { return e; }
  return null;
}

function getstyle(el,prop) {
  if(el.currentStyle) {
    prop=prop.replace(/-(\w)/g,function(t,a) {return a.toUpperCase();}); //backgroundColor
    return el.currentStyle[prop];
  }else if(window.getComputedStyle) {
    el=window.getComputedStyle(el,'');                                          //background-color
    return el.getPropertyValue(prop);
  }
}

function gettext(node) {
  function traverse(node,accumulator) {
    if (node.nodeType===3) { // text node
      accumulator.push(node.nodeValue);
    } else {
      if (node.hasChildNodes()) {
        for(var child = node.firstChild; child!==null; child=child.nextSibling) {
          traverse(child,accumulator);
        }
      }
    }
  }
  var arr = [];
  traverse(node,arr);
  return arr.join('');
}

//-------------------------------cookies

function setCookie(name, value, expires, path) { path=path||'/';
   d.cookie = name + '=' + escape(value) + ((expires) ? '; expires=' + expires.toGMTString() : '') + ((path) ? '; path=' + path : '');
}
function getCookie(name) {
   var dc = d.cookie;
   var prefix = name + '=';
   var begin = dc.indexOf('; ' + prefix);
   if (begin<0) {
      begin = dc.indexOf(prefix);
      if (begin!==0) {return null;}
   }else{ begin += 2; }
   var end = dc.indexOf(';', begin);
   if (end<0) {end = dc.length;}
   return unescape(dc.substring(begin + prefix.length, end)).replace(/\+/g,' ');
}
function deleteCookie(name, path, domain) { path=path||'/';
   var v = getCookie(name);
   if (v!==null) {d.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-70 00:00:01 GMT';}
   return getCookie(name);
}
function testCookie(path) {
   setCookie('cookietry', 'Yes, cookies are enabled.', '', ((path) ? path : ''));
   var r=getCookie('cookietry'); deleteCookie('cookietry'); return r&&!getCookie('cookietry');
}

//-------------------------------popin

function popin(n,e,w,h,title,cborder) {
 title = title || n.title || n.firstChild && ( n.firstChild.nodeValue || n.firstChild.alt || n.href.replace(/.+com\//,'').replace(/_/g,' ') )|| 'Inline frame';
 var r = /\.(html?|phps?|txt|swf|jpg|gif|png|xbm)([#\?].*)?$/;
 title = title.replace( /_/g, ' ' ).replace( r, '' );
 if(n.href) { n = n.href; }
 var ext = n.match( r ), id = 'i_'+n.substring(32).replace(/\W/g,'');
 if(ext[1]) { ext = ext[1]; } else { return true; }
 e = e||window.event || {};
 cborder = cborder || (ispic.test(ext) ? '1px solid black' : '2px inset white') ;
 var cb = parseInt( cborder, 10 )*2,
  scrollx = getscrollleft(),
  scrolly = getscrolltop();
 var rx = scrollx + e.x;
 if(e.x+w>d.documentElement.clientWidth) {
  rx += d.documentElement.clientWidth-e.x-w-cb;
  if(rx<scrollx) { rx = scrollx; }
 }
 var ry = scrolly + e.y;
 if(e.y+h>d.documentElement.clientHeight-15) { // 15 is de scrollHeight van de span, plus 2 keer 2 padding
  ry += d.documentElement.clientHeight-e.y-h-cb-15;
  if(ry<scrolly) { ry = scrolly; }
 }

 if(gid(id)) {
  var j = gid(id);
  j.style.left = rx + 'px';
  j.style.top = ry + 'px';
  j.style.zIndex = zstep++; return false;
 }

 var c = d.createElement('div'), f = c.cloneNode(false), g = c.cloneNode(false), x;
 var i = d.createElement('img');
 i.src = '/image/icon/button/del11.gif';
 i.width = 11; i.height = 11;
 i.alt = 'Sluiten';
 i.onclick = sluit;
 i.style.position = 'absolute';
 i.style.right = '2px';
 i.style.cursor = 'pointer';
 g.style.cursor = 'text';
 g.style.width = ( w - 4 ) + 'px';
 g.style.overflow = 'hidden';
 c.style.overflow = 'hidden';
 f.style.overflow = 'hidden';
 g.appendChild( d.createTextNode( title ) );
 f.appendChild( i );
 f.appendChild( g );
 c.className = 'drag';
 c.id = id;
 c.style.position = 'absolute';
 c.style.top = ry+'px';
 c.style.left = rx+'px';
 c.style.zIndex = zstep;
 c.style.border = cborder;
 c.onmousedown = function() { this.style.zIndex = zstep++; };
 c.ondblclick = zoem;
 if(ispic.test(ext)) {
  f.style.padding = '2px';
  f.style.background = 'white';
  x = d.createElement('img');
  x.alt = ' ' + n.replace( /^.*\/(.+)$/, '$1' ) + ' \n ' + w + ' x ' + h+' px';
 } else {
  c.style.padding = '3px';
  c.style.background = '#cb6565';
  x = d.createElement('iframe');
  if( n.indexOf('form.php') ) { n += '?zonder'; }
 }
 x.src = n;
 x.width = w;
 x.height = h;
 c.appendChild( f );
 c.appendChild( x );
 d.body.appendChild( c ); return false;
}

function zoem(e) {
 e  =  e || window.event;
 var el  =  e.srcElement || e.target, i, p, s;
 while(el.tagName && el.tagName.toLowerCase()!=='body' && !isdrag.test(el.className) ) { el = el.parentNode; }
 if(isdrag.test(el.className)) {
  i = el.lastChild;
  s = i.alt.match( /\s+(\S+)\s+(\d+) x (\d+)/ );
  p = window.prompt( 'Grootte van   ' + s[1] + '   in percentages:\n(0=sluiten, 100=' + s[2] + 'x' + s[3] + ' pixels):', '100' );
  if(typeof p==='string') {
   p = parseInt( p, 10 ) / 100;
   if(!p) { sluit(e); }
   if(p) { el.style.width=Math.ceil(s[2]*p)+'px'; i.width=s[2]*p; i.height=s[3]*p; }
  }
}}

function sluit(e) {
 e = e || window.event;
 var el = e.srcElement || e.target;
 while(el.tagName && el.tagName.toLowerCase()!=='body' && !isdrag.test(el.className) ) {  el = el.parentNode; }
 if(isdrag.test(el.className)) { ob=null; el.parentNode.removeChild(el); }
}

function md(e) {
 e=e||window.event;
 if(e.altKey) { window.scrollTo(getscrollleft(),getscrolltop()?0:9e9); }
 var el = e.srcElement || e.target;
 while(el.tagName && el.tagName.toLowerCase()!=='body' && !isdrag.test(el.className) ) { el = el.parentNode; }
 if(isdrag.test(el.className)) { ob=el;
  ob.onmouseout=function() {ob=null;};
  mx=('number'===typeof e.clientX)?e.clientX:e.x;
  my=('number'===typeof e.clientY)?e.clientY:e.y;
  ox=parseInt(ob.style.left);
  oy=parseInt(ob.style.top);
}}
function mm(e) { if(ob) {
 e=e||window.event;
 ob.style.left=ox-mx+(('number'===typeof e.clientX)?e.clientX:e.x)+'px';
 ob.style.top=oy-my+(('number'===typeof e.clientY)?e.clientY:e.y)+'px';
 return false;
}}

var ob,mx,my,ox,oy,zstep=1,isdrag=/\bdrag\b/,ispic=/bmp|gif|jpe?g|png|xbm/i;
if(d.captureEvents) { d.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE|Event.MOUSEUP); }
d.onmousedown = md;
d.onmousemove = mm;
d.onmouseup = function() { ob=null; }

//-------------------------------hilite

function scrolltonext(s) {
 if(!d.body.createTextRange) { return false; }
 var i, found, r = d.body.createTextRange();
 for (i=0; i<=scrolledsofar[s] && (found=r.findText(s))!==false; i++) {
   r.moveStart("character", 1);
   r.moveEnd("textedit");
 }
 if (found) {
   r.moveStart("character", -1);
   r.findText(s);
   try{ r.select(); }catch(e) {alert('Could not select "'+s+'". It may be hidden.\n\n'+e.message);}
   var b=d.selection.createRange().parentElement().parentNode;
   if( b.id && (b.id==='detop' || b.id==='zijpaneel') ) {
     scrolledsofar[s] = 0;
     scrolltonext(s);
   }else{
     r.scrollIntoView();
     scrolledsofar[s]++;
   }
 }else{
   if (scrolledsofar[s] > 0) {
     scrolledsofar[s] = 0;
     scrolltonext(s);
   }else{
     alert('Sorry, geen "'+s+'" te vinden op deze pagina.');
   }
 }
 beweeg(); return false;
}

function hilite( how ) {
 var z = d.forms.zijpaneel;
 var i, s, numf, t=z.elements.q.value.split(/[\s,;\+]/);
 for( i=0; i<t.length; i++ ) { if(t[i].length>1) { s=t[i];
  numf=highlight(s,gid('main')) || highlight(s,d.body);
  if(numf) {
   var str=d.createTextNode(numf+' '+s);
   var a=d.createElement('a');
   var p=d.createElement('img');
   p.src='/image/icon/button/del9.gif'; p.width=9; p.height=9; p.border=0; p.alt=s+ ' verwijderen';
   a.onclick=function() { return scrolltonext(this.lastChild.nodeValue.replace(/\d+\s/,'')); }; p.onclick=unhilite;
   a.href='#'; a.appendChild(p); a.appendChild(str);
   z.insertBefore(a,gid('knoppen').nextSibling); scrolledsofar[s]=0; beweeg();
   if((getCookie('q')||'').indexOf(s)<0) { setCookie('q', s+' '+(getCookie('q')||'') ); }
  }else{
   if(!how){ alert('Sorry, geen "'+s+'" te vinden op deze pagina.'); }
  }
 } }
}

var foundsofar=0, scrolledsofar=[];
function highlight(t, el) {
  if(!t) {return 0;}
  t = t.replace(/([\\|^$()[\]{}.*+?])/g, '\\$1');
  if(/^\s*$/.test(t)) {return 0;}
  var r, p = gid('case')&&gid('case').checked? 'g':'gi';
  if (gid('phrase')&&gid('phrase').checked) {
    r = new RegExp(t, p);
  } else {
    r = new RegExp(t.split(/\s+/).join('|'), p);
  }
  var s = [el||d.documentElement||d.body], i = 0, n=0, e, j, l, o, k;
  var h = d.createElement('span');
  h.className='query'+(foundsofar++);if(foundsofar>9) {foundsofar=0;}
  do {
    e = s[i];
    if (e.nodeType===3) {
      r.lastIndex = 0;
      l = r.exec(e.nodeValue);
      if (l!==null) {
        k = l[0].length;
        if (r.lastIndex > k) {
          e.splitText(r.lastIndex-k);
          e = e.nextSibling;
        }
        if (e.nodeValue.length > k) {
          e.splitText(k);
          s[i++] = e.nextSibling;
        }
        o = h.cloneNode(true);
        o.appendChild(d.createTextNode(l[0]));
        e.parentNode.replaceChild(o, e); n++;
      }
    } else {
      j = e.childNodes.length;
      while (j) { s[i++] = e.childNodes.item(--j); }
    }
  } while(i--);
  if(!n) {foundsofar--;} return n;
}

function unhilite(e) {
 e=e||window.event||{};
 var el = e.srcElement||e.target;
 while(el.tagName&&el.tagName.toLowerCase()!=='a') { el = el.parentNode; }
 var s=el.lastChild.nodeValue.replace(/^\d+\s/,'');
 var els=d.body.getElementsByTagName('span');
 var t, i=els.length; while(i--) {
  if(els[i].className.indexOf('query')===0&&gettext(els[i]).toLowerCase()===s.toLowerCase()) {
   t=d.createTextNode(gettext(els[i]));
   els[i].parentNode.replaceChild(t,els[i]);//not good
  }
 }
 el.parentNode.removeChild(el); scrolledsofar[s] = null;
 beweeg(); return false;
}
//-------------------------------util

function toggleclass(el,name) {
 if(el.className===''||el.className.indexOf(name)<0) {
  el.className+=name;
 } else {
  el.className=el.className.replace(name,'');
 }
 beweeg(); return false;
}

var blank = false;
function settarget() { if(!d.links) {return;}
 blank = !blank; var i = d.links.length, x;
 while (i--) { x = d.links[i];
  if ( x.href!=='#' && x.href.indexOf('javascript:')!==0 && (!x.href.match(/^http:\/\/(www\.)?vansandick.com/i) || x.href.indexOf('redirect.php') > 0) ) {
   x.target = blank ? '_blank' : '_self';
  }
 }
}

function beweeg() { var w, h;
 if (typeof window.innerWidth!=='undefined') {
  w = window.innerWidth;
  h = window.innerHeight;
 } else if (d.documentElement && typeof d.documentElement.clientWidth!=='undefined' &&
    d.documentElement.clientWidth!==0) {
  w = d.documentElement.clientWidth;
  h = d.documentElement.clientHeight;
 } else if (d.body && typeof d.body.clientWidth!=='undefined') {
  w = d.body.clientWidth;
  h = d.body.clientHeight;
 }
 if(gid('zijpaneel')&&window.navigator.platform.indexOf('Mac')<0) {
  gid('zijpaneel').style.top = Math.max(gid('detop').scrollHeight,h+getscrolltop()-gid('zijpaneel').scrollHeight-10)+'px';}
}

function getscrollleft() { return window.pageXOffset ? window.pageXOffset : d.documentElement && d.documentElement.scrollLeft ? d.documentElement.scrollLeft : d.body.scrollLeft; }
function getscrolltop() { return window.pageYOffset ? window.pageYOffset : d.documentElement && typeof d.documentElement.scrollTop==='number' ? d.documentElement.scrollTop : d.body.scrollTop; }

function keyd( e ) {
 e = e || window.event;
 var o = e.target || e.srcElement,
  k = e.keyCode || e.charCode || e.which,
  l = String.fromCharCode( k ).toLowerCase();
 if( k<37 || e.ctrlKey || ( /^(input|select|textarea)$/i.test( o && o.tagName||'' ) ) ) {
  return true;
 }

 if( l==='n' ) { window.location.href = gid( 'teen' ).firstChild.href; }
 if( l==='s' ) { d.forms.zijpaneel.elements.q.focus(); d.forms.zijpaneel.elements.q.select(); }
 if( l==='h' ) { window.alert( keyd ); }
 if( l==='q' ) { window.scrollTo( 0, 0 ); }
 if( l==='t' ) { window.scrollTo( getscrollleft(), 0 ); }
 if( l==='b' ) { window.scrollTo( getscrollleft(), 9e9 ); }
 if( l==='l' ) { window.scrollTo( 0, getscrolltop() ); }
 if( l==='r' ) { window.scrollTo( 9e9, getscrolltop() ); }

 return false;
}

var forbidden=['a','img','input','textarea','button','th'];
var ignore=['a','b','i','u','span'];
function selectword(e) {
  e=e||window.event||{}; var el = e.srcElement;
  if(!el || forbidden.indexOf(el.tagName.toLowerCase())>-1) {return true;}
  var r=d.selection.createRange();
  var ep=parel(r);
  r.moveStart('character',-1); if(trim(r.text).length===1) {
    var ts=0; var te=0;
    while( /^\w/.test(r.text) && r.moveStart('character',-1)!==0 && ep===parel(r) ) { ts++; }
    r.moveStart('character',1);
    while( /\w$/.test(r.text) && r.moveEnd('character',1)!==0 && ep===parel(r) ) { te++; }
    r.moveEnd('character',-1);
    if(r.text) {d.forms.zijpaneel.q.value=r.text;} r.select();
  }
}
function parel(r) {
  var par=r.parentElement();
  if(ignore.indexOf(par.tagName.toLowerCase())>-1) {
    if( par.parentNode ) {
      while( par.parentNode && par.parentNode.tagName && ignore.indexOf(par.parentNode.tagName.toLowerCase())>-1 ) {
        par=par.parentNode;
  }}}
  return par;
}
//------buildform

function buildform() {
  var z=d.createElement('form'); z.id='zijpaneel'; z.action='/zoek.php'; z.method='get';
  var div1=d.createElement('div'); var div2=div1.cloneNode(true); div2.id='knoppen';
  var q1=d.createElement('input'); var q2=q1.cloneNode(true); var q3=q1.cloneNode(true);
  q1.type='text'; q1.value=getCookie('q')||''; q1.tabIndex=1; q1.name='q'; q1.id='q';
  q2.type='submit'; q2.value='Zoek'; q2.tabIndex=2;
  q3.type='button'; q3.value='Hilite'; q3.tabIndex=1; q3.onclick=hilite;
  div1.appendChild(q1);
  div2.appendChild(q2);
  div2.appendChild(q3);
  z.appendChild(div1);
  z.appendChild(div2);
  var a=d.createElement('a'); a.href='#'; a.className='s'; var b=a.cloneNode(true);
  var i=d.createElement('img'); i.width=9; i.height=5; i.alt=''; var j=i.cloneNode(true);
  i.src='/image/icon/arrow/smack-t.gif'; a.appendChild(i); a.title='Omhoog';
  j.src='/image/icon/arrow/smack-b.gif'; b.appendChild(j); b.title='Omlaag';
  a.onclick=function() {scrollTo(0,0); beweeg(); this.parentNode.lastChild.focus(); return false;};
  b.onclick=function() {scrollTo(0,9e9); beweeg(); this.parentNode.firstChild.focus(); return false;};
  z.insertBefore(a,z.firstChild); z.insertBefore(b,null);
  d.body.appendChild(z);if(q1.value){hilite(true);}
}

//------onevent

d.onkeydown=keyd;

window.onload=function() {
 beweeg(); settarget(); if(d.forms.zijpaneel&&gid('main')) { gid('main').onmouseup=selectword; }
 var a=d.getElementsByTagName('input'); var i=a.length; while(i--) {
  if( (/^text$/i.test(a[i].type)) && a[i].name!=='q' ) {
   a[i].def=a[i].value;
   a[i].onfocus=function() {if(this.value===this.def&&this.def!=='http://') {this.value='';}};
   a[i].onblur=function() {if(!trim(this.value)) {this.value=this.def;}};
  }
 }
 a=d.getElementsByTagName('li'); i=a.length; while(i--) {
  if(!(/huwelijken|kinderen/.test(a[i].parentNode.className))) {
   a[i].def=getstyle(a[i],'list-style-image');
   a[i].onmouseover=function() { this.style.background='#ffffcc'; if(this.def.indexOf('s11lite.gif')>0) { this.style.listStyleImage='url(/image/icon/s11.gif)'; } };
   a[i].onmouseout=function() { this.style.background=''; this.style.listStyleImage=this.def; };
  }
 }
 if(typeof loaded==='function') { loaded(); }
};

if(typeof window.onscroll!=='undefined') {
 window.onresize=beweeg;
 window.onscroll=beweeg;
}else{
 setInterval('beweeg();',200);
}
