Loading = function() {};
	Loading.prototype = {};

	Loading.startListener = function(){
		document.getElementById('image_l').style.display='';
		var err = document.getElementById('errormsgs');
		while(err.firstChild!=null){
			err.removeChild(err.firstChild);
		}
		Events.addEvent(document, 'load', Loading.stopListener);
	};

	Loading.stopListener = function(){
		document.getElementById('image_l').style.display='none';
		var kuku = document.getElementById('kuku').contentWindow.document.getElementById('errordiv');
		if(kuku!=null){
		var container = document.createElement('div');
		container.id='errormsgs';
		container.appendChild(kuku);

		var c=document.getElementById('errormsgs');
		c.parentNode.replaceChild(container, c);
	}
		Events.cleanup();
	}

	Events = function() {};
	Events.prototype = {};
	Events.attached = [];

	Events.addEvent = function(elementPtr, eventType, eventFunc) {
		if (elementPtr == null)
			return;
		if (elementPtr.addEventListener) {
			elementPtr.addEventListener(eventType, eventFunc, false);
		}
		if (elementPtr.attachEvent) {
			elementPtr.attachEvent('on' + eventType, eventFunc);
		}
		this.attached.push( {
			'node' : elementPtr,
			'type' : eventType,
			'function' : eventFunc
		});
	};

	Events.cleanup = function() {
		for ( var i = 0; i < Events.attached.length; ++i) {
			var evt = Events.attached[i];

			if (evt.node.addEventListener) {
				evt.node.removeEventListener(evt.type, evt['function'], false);
			}
			if (evt.node.attachEvent) {
				evt.node.detachEvent('on' + evt.type, evt['function']);
			}

		}
	};