var nullFunction = function(){};
var xwkOpenIframePupup = function(url,w,h,closename) {
	var o = {width:w,height:h};
	if (closename) {
		//escape
		closename = $('<div>').text(closename).html();
		o.closeButton = '<div class="nyroModalHeader"></div><a href="#" class="nyroModalClose" id="closeBut" title="close">'+closename+'</a>';
	}
	jQuery("<a>").attr("href",url).nyroModalManual(o);
//	jQuery("iframe[name=nyroModalIframe]").attr('scrolling','no');
}

jQuery(document).ready(function($) {
	var closetxt = "clo__se";
	if (typeof(xwk_txt_bt_close) != "undefined") closetxt = xwk_txt_bt_close;
	//escape
	closetxt = $('<div>').text(closetxt).html();

	$.fn.nyroModal.settings.closeButton = '<div class="nyroModalHeader"></div><a href="#" class="nyroModalClose" id="closeBut" title="close">'+closetxt+'</a>';
	$.fn.nyroModal.settings.showContent = function(elts, settings, callback) {
		elts.loading.hide()
		elts.contentWrapper
		.css({
			width: settings.width+'px',
			height: settings.height+'px',
			marginTop: settings.marginTop+'px',
			marginLeft: settings.marginLeft+'px',
			opacity: 1
		})
		.fadeIn(300, callback);
	};

	$.fn.nyroModal.settings.hideContent = function(elts, settings, callback) {
		elts.contentWrapper.fadeOut(10, callback);
	}
	var normhref=false;
	var getNormHref = function(href) {
		if (normhref === false) {
			normhref = "";
			var d = $('<div>');
			d.html("<a href='#catch' > link</a>");
			var h= d.find('a').attr('href');
			var r= h.indexOf('#catch');
			normhref = h.substr(0,r);
		}
		if (!href)
			return href;

		if (normhref.length == 0)
			return href;

		if (href.indexOf(normhref) != 0)
			return href;

		return href.substr(normhref.length);
	}

	var cacheLink = function(a) {
		var link = a.attr('href');
		var target = a.attr('target');
		a.mouseout(function() {
			a.attr('href',link);
		});
		return [link,target,a];
	}
	var invokeLink = function(linkObj) {
		var a = linkObj[2];
		var link = linkObj[0];
		var target = linkObj[1];
		if (!target || target=="" || target=="_self") {
			location.href = link;
		} else {
			if (target == "xwkpopup") {
				$.nyroModalManual({
   					url: a.attr('href')+'#mainrow_main',
   					width: 1000
    			});
			}else {
				window.open(link,target);
			}
		}
		a.attr('href','javascript:nullFunction()');
	}

	var imgregex = new RegExp('\.(jp(e)?g|png|gif)\s*$', 'i');
	$('a[href]').each(
		function() {
			if ($(this).attr('target') === 'xwkiframe') {
				//var link = cacheLink($(this));
				$(this).click(function() {
					var width = 3000;
					var height = 3000;
					if ($(this).attr('rel')) {
						var size = $(this).attr('rel').split('|');
						width = size[0];
						height = size[1];
					}
					xwkOpenIframePupup(
						$(this).attr('href'),width,height
					);
					return false;
				});
				return
			}

			if (imgregex.test($(this).attr('href'))) {
				$(this).nyroModal();
				return;
			}

			var url = getNormHref($(this).attr('href'));
			if (url.lastIndexOf('/--popup/') != -1) {
				$(this).attr('target','xwkpopup');
			//	url = url.replace(/\/html\//,'/popup/');
			//	url = url.replace(/^html\//,'popup/');
			//	url = url.replace(/\/html.php\//,'/popup.php/');
			//	url = url.replace(/^html\.php\//,'popup.php/');
				$(this).attr('href',url);
				var link = cacheLink($(this));
				$(this).click(function() {
					invokeLink(link);
					return false;
				});
				return;
			}
			if (url.lastIndexOf('print.php/') != -1) {
				$(this).click(function() {
					XWK.printUrl($(this).attr('href'));
					return false;
				});
				return;
			}
		}
	);
	$('.uebersichtblock, .navblock, .siteflow_block').each(
			function() {
				var block = $(this);
				var link = cacheLink(block.find('a:first'));
				var activeclass = !block.is('.siteflow_block') ? 'blockover' : 'siteflowover';
				block.css('cursor','pointer');
				block.hover(function() {
					block.addClass(activeclass);
				}, function() {
					block.removeClass(activeclass);
				}
				);
				block.click(function() {
					invokeLink(link);
				});
			}
	);
	$('.site_flow_block').each(
			function() {
				var block = $(this);
				var link = cacheLink(block.find('a:first'));
				block.css('cursor','pointer');
				block.hover(function() {
					block.addClass('siteflowover');
				}, function() {
					block.removeClass('siteflowover');
				}
				);
				block.click(function() {
					invokeLink(link);
				});
			}
	);


	$('input.inputtooltip[alt]').each(function(){
		var i = $(this);
		var text = i.attr('alt');
		var dummy = $('<input type="text">');
		dummy.attr('class',i.attr('class'));
		dummy.attr('style',i.attr('style'));
		dummy.attr('name',i.attr('name')+'_tooltipdummy');
		dummy.val(text);
		i.after(dummy);
		dummy.hide();

		dummy.focus(function(){
			i.show();
			dummy.hide();
			i.focus();
		});

		i.blur(function(){
			if(i.val() == ""){
				i.hide();
				dummy.show();
			}
		});

		i.blur();

	});

});