Object.extend(Event, {
  _domReady : function() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;

    if (this._timer)  clearInterval(this._timer);
    
    this._readyCallbacks.each(function(f) { f() });
    this._readyCallbacks = null;
},
  onDOMReady : function(f) {
    if (!this._readyCallbacks) {
      var domReady = this._domReady.bind(this);
      
      if (document.addEventListener)
        document.addEventListener("DOMContentLoaded", domReady, false);
        
        /*@cc_on @*/
        /*@if (@_win32)
            document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
            document.getElementById("__ie_onload").onreadystatechange = function() {
                if (this.readyState == "complete") domReady(); 
            };
        /*@end @*/
        
        if (/WebKit/i.test(navigator.userAgent)) { 
          this._timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) domReady(); 
          }, 10);
        }
        
        Event.observe(window, 'load', domReady);
        Event._readyCallbacks =  [];
    }
    Event._readyCallbacks.push(f);
  }
});

function rollItem(id, name, rollmode) {
	if (rollmode == 'over') {
		$(id).src = 'images/menu/'+name+'R.gif';
	} else {
		$(id).src = 'images/menu/'+name+'.gif';
	}
}

function rollButton(id, name, rollmode) {
	if (rollmode == 'over') {
		$(id).src = 'images/buttons/'+name+'R.gif';
	} else {
		$(id).src = 'images/buttons/'+name+'.gif';
	}
}

function doAppear(id) {
	new Effect.Appear(id, {duration: 0.2, afterFinish: function () { new Effect.ScrollTo(id); }});
}

function updateUsers() {
	xajax_getOnlineUsers();
}

function updateComments() {
	xajax_getLastComments();
	if ($('post_id')) {
		if ($('post_id').value > 0) {
			xajax_getComments($('post_id').value, $('last_id').value, false);
		}
	}
}

function writeHTML(a){document.write(a)}

function dartRewrite(s){
	s = s.replace("&lt;","<");
	s = s.replace("&gt;",">");
	s = s.replace("&lt;","<");
	s = s.replace("&gt;",">");
	writeHTML(s);
}

function execJS(nodename)
{
	node = $(nodename);
  var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
  var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
  var bMoz = (navigator.appName == 'Netscape');

  if (!node) return;

  /* IE wants it uppercase */
  var st = node.getElementsByTagName('SCRIPT');
  var strExec;

  for(var i=0;i<st.length; i++)
  {
  	strSrc = st[i].src;
    if (bSaf) {
      strExec = st[i].innerHTML;
      st[i].innerHTML = "";
    } else if (bOpera) {
      strExec = st[i].text;
      st[i].text = "";
    } else if (bMoz) {
      strExec = st[i].textContent;
      st[i].textContent = "";
    } else {
      strExec = st[i].text;
      st[i].text = "";
    }

    try {
      var x = document.createElement("script");
      x.type = "text/javascript";
      if (strSrc) {
      	x.src = strSrc;
      }

      /* In IE we must use .text! */
      if ((bSaf) || (bOpera) || (bMoz))
        x.innerHTML = strExec;
      else x.text = strExec;

      //document.node.appendChild(x);
    } catch(e) {
      alert(e);
    }
  }
};

function sitestat(ns_l){ns_l+='&amp;ns__t='+(new Date()).getTime();ns_pixelUrl=ns_l;
ns_0=document.referrer;
ns_0=(ns_0.lastIndexOf('/')==ns_0.length-1)?ns_0.substring(ns_0.lastIndexOf('/'),0):ns_0;
if(ns_0.length>0)ns_l+='&amp;ns_referrer='+escape(ns_0);
if(document.images){ns_1=new Image();ns_1.src=ns_l;}else
document.write('<img src="'+ns_l+'" width="1" height="1" alt="">');}
if(document.cookie.indexOf('ns_Cfilter')!=-1)
sitestat("http://nl.sitestat.com/adfactor/runofweblogs/s?teller");

Event.onDOMReady(function() {
	setInterval("updateUsers();", 30000);
	setInterval("updateComments();", 30000);
//	setInterval("xajax_updateBanners();", 60000);
});
