function get_events_ajax(e, date)
{
	$('#events-widget-title').html(e.currentTarget.innerHTML);
	$('#events-widget').html('<br /><img src="' + files_url + 'images/loading.gif" alt="Lädt..." />');
	
	$('.calendar-link').removeClass('calendar-link-selected');
	
	$(e.currentTarget).addClass('calendar-link-selected');
	
	$('#events-widget').load(ajax_url + 'events?p=' + page_name + '&d=' + date + '&t=8');
};

function get_weather_ajax(page_name, city)
{
	$('#ajax-weather').load(
		ajax_url + 'weather?p=' + page_name + '&c=' + city
	);
};

function get_feedriver_ajax(element_id, city, preview, type)
{
	$('#' + element_id + '-loading').css('background-image', 'url(' + files_url + 'images/loading.gif)');
	$('#' + element_id).load(
		ajax_url + 'feed?c=' + escape(city) + '&p=' + (preview ? 1 : 0) + '&t=' + type,
		function (e)
		{
			$('#' + element_id + '-loading').css('background-image', '');
			
			if (type == 'flickr')
				init_feed_box(element_id, true);
		}
	);
};

function get_more_feed_items(id, page_name, items_loaded, url)
{
	$('#additional-feed-box-link-' + id).css('height', $('#additional-feed-box-link-' + id).height() + 'px');
	$('#additional-feed-box-link-' + id).html('<img src="' + files_url + 'images/loading.gif" alt="Lädt..." />');
	
	$('#additional-feed-box-' + id).load(
		ajax_url + 'river?s=' + escape(page_name) + '&o=' + items_loaded + '&f=' + escape(url) + '&t=feed-box',
		function (e)
		{
			$('#additional-feed-box-' + id).css('display', 'block');
			$('#additional-feed-box-link-' + id).css('display', 'none');

			init_feed_box('additional-feed-box-' + id);
		}
	);
};

function init_ajax_event_link(index, date)
{
	$('#events-link-' + index).click(function(e)
		{
			// pressing CTRL key in Firefox or Safari opens new tab
			if ((jQuery.browser.mozilla || jQuery.browser.safari) &&
				e.ctrlKey)
				return true;
			// pressing CTRL key in Opera or IE opens new tab/window
			if ((jQuery.browser.opera || jQuery.browser.msie) &&
				e.shiftKey)
				return true;
			
			get_events_ajax(e, date);
			e.currentTarget.blur();
			
			return false;
		}
	);
};

function init_feed_click_tracker(selector)
{
	$(selector).click(function(e)
		{
			jQuery.get(
				ajax_url + 'click?i=' + e.currentTarget.id.substr(5)
			);
		}
	);
};

function init_feed_box(box_id, photos, page_name, feed_id)
{
	if (photos != true)
		init_feed_click_tracker('#' + box_id + ' a.headline');
	
	$('#' + box_id + ' a.headline').mousemove(function(e)
		{
			// only != ie6
			if (jQuery.browser.msie &&
				jQuery.browser.version == '6.0')
				return;
			
			// jump to li
			var div = $(e.currentTarget.parentNode);
			div = div[0];
			if (div.tagName == 'A')
			{
				div = $(div.parentNode);
				div = div[0];
			}
			
			// get div
			for (var i = 0; i < div.childNodes.length; i++)
			{
				if (div.childNodes[i].tagName == 'DIV')
				{
					div = div.childNodes[i];
					break;
				}
			}
			
			// if no div could be found, no preview should be shown
			if (div.tagName == 'LI')
				return false;
			
			// position div
			$(div).show();
			$(div).css({
				'top':	e.pageY + 20,
				'left':	e.pageX + 20
			});
		}
	);
	$('#' + box_id + ' a.headline').mouseout(function(e)
		{
			// jump to li
			var div = $(e.currentTarget.parentNode);
			div = div[0];
			if (div.tagName == 'A')
			{
				div = $(div.parentNode);
				div = div[0];
			}
			
			// get div
			for (var i = 0; i < div.childNodes.length; i++)
			{
				if (div.childNodes[i].tagName == 'DIV')
				{
					div = div.childNodes[i];
					break;
				}
			}
			
			// if no div could be found, no preview is available that can be
			// hidden
			if (div.tagName == 'LI')
				return false;
			
			// position div
			$(div).hide();
		}
	);

	var only_box_id = box_id.substr('feed-box-'.length);

	/*
	$('#additional-' + box_id).after('<p id="additional-feed-box-link-'
		+ only_box_id + '" class="additional-link">'
		+ '<a href="JavaScript:void(0)" onclick="get_more_feed_items(\''
		+ only_box_id + '\', \''
		+ page_name + '\', '
		+ '$(\'#' + box_id + ' a.headline\').length, \''
		+ feed_id + '\')">mehr &raquo;</a></p>');
	*/
};

function resize_feed_box(left_box_id, right_box_id)
{
	// single title line height: 23
	var acceptable_difference = 18;

	if (Math.abs($('#' + left_box_id).height() - $('#' + right_box_id).height()) > acceptable_difference)
	{
		if ($('#' + left_box_id).height() + acceptable_difference > $('#' + right_box_id).height())
		{
			var i = 0;
			do
			{
				$($('#' + left_box_id + ' a.headline:last')[0].parentNode).remove();

				i++;
			} while ($('#' + left_box_id).height() > $('#' + right_box_id).height() + acceptable_difference && i < 10)
		}
		else if ($('#' + left_box_id).height() < $('#' + right_box_id).height())
		{
			resize_feed_box(right_box_id, left_box_id);
		}
	}
}

function mk_sp_get_browser()
{
	if (jQuery.browser.msie)
		return 'ie';
	if (jQuery.browser.mozilla)
		return 'fx';
}

function make_startpage()
{
	if (jQuery.browser.msie &&
		jQuery.browser.version.substr(0, 1) == '6')
		document.setHomePage(location.href);
	else
	{
		show_make_startpage();
	}
	
	$('#make-startpage').css('display', 'none');
};

function initialize_make_startpage()
{
	if (jQuery.browser.msie ||
		jQuery.browser.mozilla)
	{
		$('#make-startpage').css('display', 'block');
		
		// close_make_startpage on click on background
		$('#make-startpage-background').click(function (e) {
			close_make_startpage();
		});
	}
};

function show_make_startpage()
{
	$('#make-startpage-' + mk_sp_get_browser()).css('display', 'block');
	$('#make-startpage-background').css('display', 'block');
	
	// disable scrolling
	$('body').css('overflow', 'hidden');
};

function close_make_startpage()
{
	$('#make-startpage-' + mk_sp_get_browser()).css('display', 'none');
	$('#make-startpage-background').css('display', 'none');

	// re-enable scrolling
	$('body').css('overflow', '');
};