
	var UMG = UMG ? UMG : function() {
		var public = {

			checkBrowserName: function(name){
				var agent = navigator.userAgent.toLowerCase();

				if (agent.indexOf(name.toLowerCase())>-1) {
					return true;
				}

				return false;
			},

			getElementPosition: function (element) {
				posA = Element.cumulativeOffset(element);

				var pos = new Object({
					'left':posA.left,
					'top':posA.top
				});

				return(pos);
			},

			PostRenderer: function(e, url, imageUrl) {

				private.imageUrl = imageUrl;

				if(!e) e = window.event;

				if(e.pageX) {
					private.xPos = e.pageX;
					private.yPos = e.pageY;
				}
				else if(e.clientX) {
					scrollOffset = document.viewport.getScrollOffsets()
					private.xPos = e.clientX + scrollOffset.left;
					private.yPos = e.clientY + scrollOffset.top;
				}

				if($('popup-layer-mouse-postrenderer-layer'))
					$('popup-layer-mouse-postrenderer-layer').remove();

				postRendererLayer = new Element('div', {
					'id'	: 'popup-layer-mouse-postrenderer-layer',
					'class'	: 'popup-layer-mouse-postrenderer-layer',
					'style'	: 'display:none;position:absolute;'
				});

				postRendererLayer.setStyle({
				  'backgroundImage': 'url("'+private.imageUrl+'")',
				  'width': '16px',
				  'height': '16px',
				  'backgroundRepeat': 'no-repeat',
				  'backgroundPosition': '50% 50%'
				});

				postRendererLayer.style.left = private.xPos + 15 + 'px';
				postRendererLayer.style.top = private.yPos + 15 + 'px';

				document.body.appendChild(postRendererLayer);
				postRendererLayer.show();

				new Ajax.Request(url, {
					method:'get',
					encoding: 'UTF-8',
					contentType: 'application/x-www-form-urlencoded',
					onSuccess: function (transport) {

						window.setTimeout("UMG.hideErrorMessage()", 1000);

						response = transport.responseText.evalJSON();
						if(response.url != "" && response.link_options != "") {

							responseUrl 	= response.url;
							responseTitle	= response.title;
							responseOptions = response.link_options.evalJSON();

							if(responseOptions.target == 'LAYERMOUSE') {

								UMG.FrameLoader.show(
									null,
									responseUrl,
									responseOptions.width,
									responseOptions.height,
									responseTitle,
									private.imageUrl,
									private.xPos,
									private.yPos);

								return(false);
							}

							if(responseOptions.target == '_blank') {

								window.open(responseUrl, escape(responseTitle));
								return(false);
							}

							if(responseOptions.target == '_self') {

								window.loaction.href = responseUrl;
								return(false);
							}

							if(responseOptions.target == 'POPUP') {

								window.open(responseUrl, escape(responseTitle));
								return(false);
							}
						}
						else {

							$('popup-layer-mouse-postrenderer-layer').setStyle({
								backgroundImage: '',
								width: '',
								height: ''
							});
							$('popup-layer-mouse-postrenderer-layer').update('Es ist kein Link verf&uuml;gbar!');
						}

						return(false);
					},
					onFailure: function () {
						return(false);
					}
				});
			},

			hideErrorMessage: function () {
				if($('popup-layer-mouse-postrenderer-layer')) {
					$('popup-layer-mouse-postrenderer-layer').hide();
					$('popup-layer-mouse-postrenderer-layer').remove();
				}
			}
		};
		var private = {
			xPos:null,
			yPos:null,
			imageUrl:null
		};
	return public;
	}();