/************************************************************************/
/*                 eqDOMReady - DOM-Checker & Userfunc launcher         */
/*                                                                      */
/*                 Allows executing JS before all Images are loaded     */
/*                                                                      */
/*                 Version: 1.0                                         */
/*                 Authors: Timon Rapp <timon@equinoxe.de>              */
/*                 Created: 2007/10/19 14:30                            */
/*                 Changed: 2007/10/19 14:33                            */
/*                                                                      */
/************************************************************************/


//################# eqDOMReady Global Vars  ###############################
var eqDOMReady_function;
var eqDOMReady_timer = 0;
var eqDOMReady_ready = false;

//################# eqDOMReady Functions  #################################
//
// eqDOMReady_addEvent
// Adds a function which will be executed as soon as the DOM is ready
// Example: eqDOMReady_addEvent(my_func);
//
function eqDOMReady_addEvent(func)
{
	var old_function = eqDOMReady_function;
	if (typeof eqDOMReady_function != 'function')
    	eqDOMReady_function = func;
	else
	{
		eqDOMReady_function = function(){old_function();func();}
	}
}

//
// eqDOMReady_loaded
// Executes the added functions when the DOM is ready
//
function eqDOMReady_loaded()
{
	if(eqDOMReady_ready == false)
	{
		eqDOMReady_ready = true;
		if(typeof eqDOMReady_function == 'function')
		eqDOMReady_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")
	            eqDOMReady_loaded();	      
	    };
	}
/*@end @*/

//Normale Browser
if (document.addEventListener)
	document.addEventListener("DOMContentLoaded", eqDOMReady_loaded, false);
if(navigator.userAgent.search(/WebKit/i) != -1)
{
    	eqDOMReady_timer = setInterval(
		function ()
		{
			if(document.readyState.search(/loaded|complete/i) != -1)
			eqDOMReady_loaded();		
		}, 10);
}

//Others
window.onload = eqDOMReady_loaded;

