var loader = {
	setLoader: function(el)
	{
		el.html('');
		el.addClass('loader_small');
	},
	removeLoader: function(el)
	{
		el.removeClass('loader_small');
	}
}
var curBasketAnchor;
var basket = {
	init: function()
	{
		if( !$('.tooltip').length)
		{
			var tooltipHtml = '<div class="tooltip"></div>';
			$(tooltipHtml).appendTo('body');
		}
		$("#basket a[href$='.pdf']").unbind();
		$("#basket a[href$='.html']").unbind();
		$("#main_content a[href$='.pdf']").tooltip({
			tip: '.tooltip',
			onBeforeShow: function(event) {
				$('.tooltip p').remove();
				var tip = this.getTip();
				var trigger = this.getTrigger();
				tip.empty();
				tip.html('<a class="basket-link"></a><a class="open-link"></a>');
				var aTag = tip.find('a.basket-link');
				curBasketAnchor = aTag;
				var data = {
				'ajax': 1,
				'action': 'basketstatus',
				'path': trigger.attr('href')};
				$.post("index.php?id=294", data, basket.cbStatus, "json");
				aTag.attr('href', '#');
				aTag.click(function () {
					curBasketAnchor = $(this);
					var data = {
					'ajax': 1,
					'action': 'basket',
					'pageTitle': $('title').val(),
					'path': trigger.attr('href'),
					'target': trigger.attr('target') ? trigger.attr('target') : '_self',
					'category': 'file'
					};
					$.post("index.php?id=294", data, basket.cb, "json");
					loader.setLoader($('#basket'));
					return false;
				});
				var aTag = tip.find('a.open-link');
				aTag.html('Datei herunterladen');
				aTag.attr('href', trigger.attr('href'));
				if(trigger.attr('target').length)aTag.attr('target', trigger.attr('target'));
			}
		});
		
		$("#main_content a.bookmarkable[href$='.html']").tooltip({
			tip: '.tooltip',
			onBeforeShow: function(event) {
				$('.tooltip p').remove();
				var tip = this.getTip();
				var trigger = this.getTrigger();
				tip.empty();
				tip.html('<a class="basket-link"></a><a class="open-link"></a>');
				var aTag = tip.find('a.basket-link');
				curBasketAnchor = aTag;
				var data = {
				'ajax': 1,
				'action': 'basketstatus',
				'path': trigger.attr('href')
				};
				$.post("index.php?id=294", data, basket.cbStatus, "json");
				aTag.attr('href', 'index.php?id=296');
				aTag.click(function () {
					curBasketAnchor = $(this);
					var data = {
					'ajax': 1,
					'action': 'basket',
					'pageTitle': $('title').val(),
					'path': trigger.attr('href'),
					'target': trigger.attr('target') ? trigger.attr('target') : '_self',
					'category': 'page'
					};
					$.post("index.php?id=294", data, basket.cb, "json");
					loader.setLoader($('#basket'));
					return false;
				});
				var aTag = tip.find('a.open-link');
				aTag.html('Link folgen');
				aTag.attr('href', trigger.attr('href'));
				if(trigger.attr('target').length)aTag.attr('target', trigger.attr('target'));
			}
		});
		
		$("#right_bar a.bookmarkable[href$='.html']").tooltip({
			tip: '.tooltip',
			onBeforeShow: function(event) {
				$('.tooltip p').remove();
				var tip = this.getTip();
				var trigger = this.getTrigger();
				tip.empty();
				tip.html('<a class="basket-link"></a><a class="open-link"></a>');
				var aTag = tip.find('a.basket-link');
				curBasketAnchor = aTag;
				var data = {
				'ajax': 1,
				'action': 'basketstatus',
				'path': trigger.attr('href')
				};
				$.post("index.php?id=294", data, basket.cbStatus, "json");
				aTag.attr('href', 'index.php?id=296');
				aTag.click(function () {
					curBasketAnchor = $(this);
					var data = {
					'ajax': 1,
					'action': 'basket',
					'pageTitle': $('title').val(),
					'path': trigger.attr('href'),
					'target': trigger.attr('target') ? trigger.attr('target') : '_self',
					'category': 'page'
					};
					$.post("index.php?id=294", data, basket.cb, "json");
					loader.setLoader($('#basket'));
					return false;
				});
				var aTag = tip.find('a.open-link');
				aTag.html('Link folgen');
				aTag.attr('href', trigger.attr('href'));
				if(trigger.attr('target').length)aTag.attr('target', trigger.attr('target'));
			}
		});
		
		$("#basket a[href$='.pdf']").tooltip({
			tip: '.tooltip',
			onBeforeShow: function(event) {
				$('.tooltip p').remove();
				var tip = this.getTip();
				var trigger = this.getTrigger();
				tip.empty();
				tip.html('<a class="basket-link"></a><a class="open-link"></a>');
				var aTag = tip.find('a.basket-link');
				curBasketAnchor = aTag;
				var data = {
				'ajax': 1,
				'action': 'basketstatus',
				'path': trigger.attr('href')
				};
				$.post("index.php?id=294", data, basket.cbStatus, "json");
				aTag.attr('href', '#');
				aTag.click(function () {
					curBasketAnchor = $(this);
					var data = {
					'ajax': 1,
					'action': 'basket',
					'pageTitle': $('title').val(),
					'path': trigger.attr('href'),
					'target': trigger.attr('target') ? trigger.attr('target') : '_self',
					'category': 'file'
					};
					$.post("index.php?id=294", data, basket.cb, "json");
					loader.setLoader($('#basket'));
					return false;
				});
				var aTag = tip.find('a.open-link');
				aTag.html('Datei herunterladen');
				aTag.attr('href', trigger.attr('href'));
				if(trigger.attr('target').length)aTag.attr('target', trigger.attr('target'));
			}
		});
		$("#basket a[href$='.html']").tooltip({
			tip: '.tooltip',
			onBeforeShow: function(event) {
				$('.tooltip p').remove();
				var tip = this.getTip();
				var trigger = this.getTrigger();
				tip.empty();
				tip.html('<a class="basket-link"></a><a class="open-link"></a>');
				var aTag = tip.find('a.basket-link');
				curBasketAnchor = aTag;
				var data = {
				'ajax': 1,
				'action': 'basketstatus',
				'path': trigger.attr('href')
				};
				$.post("index.php?id=294", data, basket.cbStatus, "json");
				aTag.attr('href', 'index.php?id=296');
				aTag.click(function () {
					curBasketAnchor = $(this);
					var data = {
					'ajax': 1,
					'action': 'basket',
					'pageTitle': $('title').val(),
					'path': trigger.attr('href'),
					'target': trigger.attr('target') ? trigger.attr('target') : '_self',
					'category': 'page'
					};
					$.post("index.php?id=294", data, basket.cb, "json");
					loader.setLoader($('#basket'));
					return false;
				});
				var aTag = tip.find('a.open-link');
				aTag.html('Link folgen');
				aTag.attr('href', trigger.attr('href'));
				if(trigger.attr('target').length)aTag.attr('target', trigger.attr('target'));
			}
		});
		
		
		$('#basket_clear').click(function () {
			var data = {
			'ajax': 1,
			'action': 'clearbasket'
			};
			$.post("index.php?id=294", data, basket.cbClear, "json");
			loader.setLoader($('#basket'));
		});
	},
	cb: function(data, status)
	{
		curBasketAnchor.html('Vom Merkzettel entfernen');
		loader.removeLoader($('#basket'));
		$('#basket').html(data.content);
		basket.init();
	},
	cbClear: function(data, status)
	{
		loader.removeLoader($('#basket'));
		$('#basket').html(data.content);
		basket.init();
	},
	cbStatus: function(data, status)
	{
		curBasketAnchor.html(data.content);
	}
};

$(document).ready(basket.init);