function isNumeric(n) {
	var n2 = n;
	n = parseFloat(n);
	return (n!='NaN' && n2==n);
}

$(document).ready(function() {
	// URL aus dem Link auslesen und ID des Elements extrahieren
	
	$(".popup_layer[rel!=uid][rel!=intern]").each(function() {
	        var onclick = $(this).attr("onclick") + "";
	        var target = onclick.slice(onclick.lastIndexOf("width=")+6).replace(",height=", "x").replace(/( |\t|\n)*/g, "").replace("\"\);vHWin.focus\(\);returnfalse;}", "");
	        $(this).attr("rel", "uid").removeAttr("onclick").attr("target", target);
	    });
	
	
	$(".popup_layer").each(function() {
		$(this).click(function() {
			var url = $(this).attr("href");
			switch($(this).attr("rel")) {
				case "uid":
					url = url.split("#");
					var ceID = url[1].replace(/[^\d]+/gm, "");
					url = "index.php?type=789&uid=" + ceID;
					break;
				case "intern":
					//url = "index.php?type=789&intern=" + url;
					var ceID = (300+parseInt(Math.random()*(600-301)));
					break;
				default:
					return false;
					break;
			}

			this.blur();

			var title = $(this).attr("title");
			
			if(title == '') { title = "Popup"; }
			
			// Attribut target am x trennen -> breite: size[0]	höhe: size[1]
			var size = $(this).attr("target").split("x");

			if(isNumeric(size[0])) { size[0] += "px"; }
			if(isNumeric(size[1])) { size[1] += "px"; }
			
			// Erstellen des PopupLayers
			$("body").append('<div class="popup_layer_wrap" id="wrap-' + ceID + '" style="position: absolute; width: ' + size[0] + '; height: ' + size[1] + '">'
						   + '<div class="popup_layer_bg" id="bg-' + ceID + '"></div>'
						   + '<div title="' + title + '" id="ce-' + ceID + '" class="popup_layer">'
						   + '<div class="popup_layer_close" id="close-' + ceID + '"></div>'
						   + '<div class="popup_layer_content"></div>'
						   + '</div></div>');

			$("#bg-" + ceID).show();
			$("#wrap-" + ceID).show().find(".popup_layer_content").load(url, function() {

				var pos_left = $(window).width() / 2 - $("#ce-" + ceID).width() / 2;
				var pos_top = ($(window).height()) / 2 - ($("#ce-" + ceID).height() + 20) / 2;
				
				
				if($.browser.msie){
				   pos_top = ((document.documentElement.scrollTop  + pos_top) <= 0) ? 30: (document.documentElement.scrollTop  + pos_top);
				}else{
				   pos_top = ((window.pageYOffset + pos_top) <= 0) ? 30: (window.pageYOffset + pos_top);
				}
				
				$("#wrap-" + ceID).css({
					left:	pos_left,
					top:	pos_top
				});

			});

			$(document).bind('keydown.wrap-' + ceID, function(event) {
				if(event.keyCode == 27) {
					close();
				}
			});
			
			$("#close-" + ceID).live('click', function() {
				close();
			});

			function close() {
				$("#wrap-" + ceID).remove();
				$(document).unbind('keydown.wrap-' + ceID);
			}

			return false;
		});
	});
});

