function FunctionOnWinLoad(funct) {
	if(typeof window.addEventListener != 'undefined') {
    	window.addEventListener('load',funct,false);
	}
	else if(typeof window.attachEvent != 'undefined') {
        window.attachEvent('onload',funct);
	}
	else if(typeof document.addEventListener != 'undefined') {
	    document.addEventListener('load',funct,false);
	} 
	else {
        var funct2 = window.onload;
         if(typeof window.onload != 'function') {
             window.onload = funct;
         }
         else {
             window.onload = function() {
             funct2();
             funct ();
			 };
		}
    }
}

function FunctionOnEleLoad(id,funct) {
	var args = arguments;
	FunctionOnWinLoad (function () {
		window.loaded = true;
	});
	var target = document.getElementById(id);
	if(target == null && !window.loaded) {
		var time = setInterval(function () {
			if(window.loaded) {
				clearInterval(time);
			}
			target = document.getElementById(id);
			if(target != null) {
				clearInterval(time);
				var tmparg = new Array();
				var tmparglen = args.length - 2;
				for(var i=0;i<tmparglen;i++) {
					tmparg[i] = args[i+2];
				}              
				funct.apply(this,tmparg);
			}
		},10);
	}
}

function EventOnEleLoad(id,e,funct,bub) {
	FunctionOnWinLoad(function () {
		window.loaded = true;
	});
	var target = document.getElementById(id);
	if(target == null && !window.loaded) {
		var time = setInterval(function () {
			if (window.loaded) {
				clearInterval(time);
			}
			target = document.getElementById(id);
			if(target != null) {
				clearInterval(time);
				addEvent(id,e,funct,bub);
			}
		 },10);
	}
}

function addEvent(id,e,funct,bub) {
	if(!id) {
		window.status = 'Error, no object';
		return false;
	}
	if(typeof id.addEventListener != 'undefined') {
		id.addEventListener(e,funct,bub);
	}
	else if(typeof id.attachEvent != 'undefined') {
		id.attachEvent ('on' + e,funct);
	}
	else {
		e = 'on' + e;
		if(typeof id [e] == 'function') {
			var old = id [e];
			id [e] = function() {
				old ();
				return funct();
			}
		}
		else {
			id [e] = funct;
		}
	}
	return true;
}

