/************************************************************************/
/*                 zDOMReady - DOM-Checker & Userfunc launcher          */
/*                                                                      */
/*                 Version: 0.1                                         */
/*                 Authors: Timon Rapp <timon@zaeda.net>                */
/*                 Created: 2007/10/19 14:30                            */
/*                 Changed: 2007/10/19 14:33                            */
/*                                                                      */
/************************************************************************/


//################# zDOMReady Global Vars  ###############################
var zDOMReady_function;
var zDOMReady_timer = 0;
var zDOMReady_ready = false;

//################# zDOMReady Functions  #################################
//
// zDOMReady_addEvent
// Adds a function which will be executed as soon as the DOM is ready
// Example: zDOMReady_addEvent(my_func);
//
function zDOMReady_addEvent(func)
{
	var old_function = zDOMReady_function;
	if (typeof zDOMReady_function != 'function')
    	zDOMReady_function = func;
	else
	{
		zDOMReady_function = function(){old_function();func();}
	}
}

//
// zDomReady_loaded
// Executes the added functions when the DOM is ready
//
function zDomReady_loaded()
{
	if(zDOMReady_ready == false)
	{
		zDOMReady_ready = true;
		if(typeof zDOMReady_function == 'function')
		zDOMReady_function();
	}		
}



/* Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	if(document.getElementById)
	{
		document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");
	    document.getElementById("ieScriptLoad").onreadystatechange = function() {
	        if (this.readyState == "complete")
	            zDomReady_loaded();	      
	    };
	}
/*@end @*/

//Normale Browser
if (document.addEventListener)
	document.addEventListener("DOMContentLoaded", zDomReady_loaded, false);
if(navigator.userAgent.search(/WebKit/i) != -1)
{
    	zDOMReady_timer = setInterval(
		function ()
		{
			if(document.readyState.search(/loaded|complete/i) != -1)
			zDomReady_loaded();		
		}, 10);
}

//Others
window.onload = zDomReady_loaded;
